09:07
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Проблема с передачей денег
DakiLLaДата: Пятница, 04.04.2008, 22:42 | Сообщение # 1
Новенький
Группа: Продвинутые
Сообщений: 12
Награды: 1
Репутация: 0
Замечания: 0%
Статус:
Народ, помогите плиз. В скрипте передачки денег не могу найти ошибку. Например ID игрока 2 а сумма передачи 100$. пишу /givecash 2 100 а в игре я сам себе 2$ передаю, то есть 100$-ми там никак не пахнет. Если ввести от балды /qrhje 2 то я все равно передаю себе 2$..ток я не понял с какого..вот код. Может я саму команду givecash не так пишу? Найдите ошибку плиз, или разъясните как правильно команду писать, "+" обязательно поставлю.
Code

if(strcmp(cmd, "/givecash", true) == 0)  
   {  
   tmp = strtok(cmdtext, idx);  
   if(!strlen(tmp))  
   {  
   SendClientMessage(playerid, COLOR_WHITE, " Введите: /givecash [ID-игрока] [сумма]");  
   return 1;  
   }  
   giveplayerid = strval(tmp);  
   tmp = strtok(cmdtext, idx);  
   if(!strlen(tmp))  
   {  
   SendClientMessage(playerid, COLOR_WHITE, " Введите: /givecash [ID-игрока] [сумма]");  
   return 1;  
   }  
   moneys = strval(tmp);  
   if (IsPlayerConnected(giveplayerid))  
   {  
   GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
   GetPlayerName(playerid, sendername, sizeof(sendername));  
   playermoney = GetPlayerMoney(playerid);  
   if (moneys > 0 && playermoney >= moneys)  
   {  
   GivePlayerMoney(playerid, (0 - moneys));  
   GivePlayerMoney(giveplayerid, moneys);  
   format(string, sizeof(string), " Вы отправили %s [ID: %d] $%d", giveplayer,giveplayerid, moneys);  
   SendClientMessage(playerid, COLOR_YELLOW, string);  
   format(string, sizeof(string), " Вы получили от %s [ID: %d] $%d", sendername, playerid, moneys);  
   SendClientMessage(giveplayerid, COLOR_YELLOW, string);  
   printf(" %s (ID:%d) передал %s [ID:%d] $%d",sendername, playerid, giveplayer, giveplayerid, moneys);  
   }  
   else  
   {  
   format(string, sizeof(string), " $%d неверная сумма передачи", moneys);  
   SendClientMessage(playerid, COLOR_RED, string);  
   }  
   }  
   else  
   {  
   format(string, sizeof(string), " (ID: %d) не существует", giveplayerid);  
   SendClientMessage(playerid, COLOR_RED, string);  
   }  
   return 1;  
   }

DJSashoK59Дата: Пятница, 04.04.2008, 23:04 | Сообщение # 2
Постоялец
Группа: Продвинутые
Сообщений: 481
Награды: 2
Город: Пермь
Репутация: 52
Замечания: 0%
Статус:
Так должно работать:
Code
if(strcmp(cmd, "/givecash", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Ïèøè: /givecash [id èãðîêà] [ñóììà]");
return 1;
}
giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Ïèøè: /givecash [id èãðîêà] [ñóììà]");
return 1;
}
moneys = strval(tmp);

if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), " Âû ïåðåäàëè %s(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), " Âû ïîëó÷èëè $%d îò %s(ID: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(ID:%d) ïåðåäàë %d èãðîêó %s(ID:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_YELLOW, " Íåâåðíàÿ ñóììà.");
}
}
else {
format(string, sizeof(string), "%d íå àêòèâíûé èãðîê.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}

Добавлено (04.04.2008, 23:04)
---------------------------------------------
А да и еще, допиши гденить выше

Code
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new cmd[256];
new giveplayerid, moneys, idx;

cmd = strtok(cmdtext, idx);

Должно выглядеть примерно так:
Code
public OnPlayerCommandText(playerid, cmdtext[])
{
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new cmd[256];
new giveplayerid, moneys, idx;

cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/givecash", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Ïèøè: /givecash [id èãðîêà] [ñóììà]");
return 1;
}
giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Ïèøè: /givecash [id èãðîêà] [ñóììà]");
return 1;
}
moneys = strval(tmp);

if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), " Âû ïåðåäàëè %s(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), " Âû ïîëó÷èëè $%d îò %s(ID: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(ID:%d) ïåðåäàë %d èãðîêó %s(ID:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_YELLOW, " Íåâåðíàÿ ñóììà.");
}
}
else {
format(string, sizeof(string), "%d íå àêòèâíûé èãðîê.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
return 1;
}

DakiLLaДата: Пятница, 04.04.2008, 23:22 | Сообщение # 3
Новенький
Группа: Продвинутые
Сообщений: 12
Награды: 1
Репутация: 0
Замечания: 0%
Статус:
Биг спс, терь работает. с меня + yes
StimДата: Воскресенье, 01.06.2008, 13:01 | Сообщение # 4
Новенький
Группа: Продвинутые
Сообщений: 21
Награды: 1
Город: Санкт-Петербург
Репутация: 0
Замечания: 0%
Статус:
Code
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(284) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(286) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(288) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(290) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(294) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(295) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(297) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(301) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(305) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(314) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(318) : error 010: invalid function or declaration
C:\PROGRA~1\GTA-SA~1\E647~1\GAMEMO~1\_SM_~1.PWN(322) : error 010: invalid function or declaration

Вот,что выкидывает,чё делать?

NiGGAДата: Вторник, 19.08.2008, 15:16 | Сообщение # 5
Новенький
Группа: Продвинутые
Сообщений: 22
Награды: 1
Город: Москва
Репутация: -1
Замечания: 0%
Статус:
А можно плз полностью написать скрипт??? sorry

Добавлено (19.08.2008, 15:16)
---------------------------------------------
У меня это в написанно

Code

public OnPlayerCommandText(playerid, cmdtext[])
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);new string[256];
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new giveplayerid, moneys;

if(strcmp(cmd, "/givecash", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
return 1;}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
return 1;}
moneys = strval(tmp);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}else{
SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");}
}else{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);}
return 1;}

strtok(const string[], &index){
new length = strlen(string);
while ((index < length) && (string[index] <= ' ')){
index++;}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))){
result[index - offset] = string[index];
index++;}
result[index - offset] = EOS;
return result;}

и вот стоко ошибок

Code

C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(34) : error 003: declaration of a local variable must appear in a compound block
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(36) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(42) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(44) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(45) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(47) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(50) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(52) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(54) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(58) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(66) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(68) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(71) : error 010: invalid function or declaration
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "giveplayer"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "giveplayerid"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "idx"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "moneys"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "playermoney"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "sendername"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "strtok"
C:\Documents and Settings\USER\Рабочий стол\givecash.pwn(84) : warning 203: symbol is never used: "tmp"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

13 Errors.





Сообщение отредактировал FF_Ryder - Вторник, 19.08.2008, 15:17
RouTeДата: Воскресенье, 16.11.2008, 12:57 | Сообщение # 6
Освоившийся
Группа: Пользователи
Сообщений: 124
Награды: 2
Город: гг
Репутация: 6
Замечания: 40%
Статус:
Quote (DakiLLa)
а в игре я сам себе 2$ передаю, то есть 100$-ми там никак не пахнет

lol



нету подписи -_-
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua