 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Проблема с передачей денег
| |
| 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%
Статус: 
| Биг спс, терь работает. с меня +
|
| |
|
|
| 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%
Статус: 
| А можно плз полностью написать скрипт??? Добавлено (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$-ми там никак не пахнет
нету подписи -_-
|
| |
|
|
|
 |
|
 | |
| |
|