else if(strcmp(Usage, "CopTicket", true) == 0) { if(Player[playerid][BeingTicketed] > 0) { if(IsPlayerConnectedEx(Player[playerid][BeingTicketed])) { format(string, sizeof(string), "[TICKET] %s has been ticketed by %s, for $%d.", GetName(playerid), GetNameWithUnderscore(Player[playerid][BeingTicketed]), Player[Player[playerid][BeingTicketed]][TicketPrice]); MoneyLog(string); Player[playerid][Money] -= Player[Player[playerid][BeingTicketed]][TicketPrice]; Player[Player[playerid][BeingTicketed]][Money] += Player[Player[playerid][BeingTicketed]][TicketPrice]; SendClientMessage(playerid, WHITE, "You have accepted the ticket."); SendClientMessage(Player[playerid][BeingTicketed], WHITE, "The other party has accepted the ticket."); Player[Player[playerid][BeingTicketed]][TicketPrice] = 0; Player[Player[playerid][BeingTicketed]][Ticketing] = -1; Player[playerid][BeingTicketed] = -1; } } else { SendClientMessage(playerid, WHITE, "You're not being ticketed."); } }
command(ticket, playerid, params[]) { new price, id, string[128]; if(sscanf(params, "ud", id, price)) { SendClientMessage(playerid, WHITE, "SYNTAX: /ticket [playerid] [price]"); } else { if(IsPlayerConnectedEx(id)) { if(GetDistanceBetweenPlayers(playerid, id) < 7) { if(Groups[Player[playerid][Group]][CommandTypes] == 1) { format(string, sizeof(string), "* %s writes out a ticket and hands it to %s.", GetName(playerid), GetName(id)); NearByMessage(playerid, SCRIPTPURPLE, string); format(string, sizeof(string), "You have written a ticket to %s, for $%d.", GetName(id), price); SendClientMessage(playerid, WHITE, string); format(string, sizeof(string), "You have been written a ticket, from LEO %s, the price is $%d. type /accept copticket to accept the ticket", GetName(playerid), price); SendClientMessage(id, ANNOUNCEMENT, string); Player[playerid][TicketPrice] = price; Player[playerid][Ticketing] = id; Player[id][BeingTicketed] = playerid; } else { SendClientMessage(playerid, WHITE, "You're not a LEO."); } } else { SendClientMessage(playerid, WHITE, "You're too far away."); } } else { SendClientMessage(playerid, WHITE, "That player is not connected or isn't logged in."); } } return 1;
command(fine, playerid, params[]) { new id, amount, Reason[128], string[128]; if(sscanf(params, "udz", id, amount, Reason)) { if(Player[playerid][AdminLevel] >= 2) { SendClientMessage(playerid, WHITE, "SYNTAX: /fine [playerid] [amount] [reason]"); } } else { if(Player[playerid][AdminLevel] >= 2) { if(strlen(Reason) < 1) { SendClientMessage(playerid, WHITE, "SYNTAX: /fine [playerid] [amount] [reason]"); } else { if(Player[id][AdminLevel] < Player[playerid][AdminLevel]) { if(amount < 99999999 && amount >= 1) { format(string, sizeof(string), "Fine: %s has been fined $%s by %s, defined reason: %s", GetName(id), IntToFormattedStr(amount), Player[playerid][AdminName], Reason); SendClientMessageToAll(LIGHTRED, string); Player[id][Money] -= amount; if(Player[id][AdminLevel] < 1) { Player[playerid][AdminActions]++; AdminActionsLog(string); SendClientMessage(playerid, WHITE, "You have earned a Jason Point!"); } } } } } } return 1; }
command(fine, playerid, params[])
{
new id, amount, Reason[125];
if(sscanf(params, "uds[125]", id, amount, Reason))
{
if(Player[playerid][AdminLevel] >= 2)
SendClientMessage(playerid, WHITE, "SYNTAX: /fine [playerid] [amount] [reason]");
}
else
{
if(Player[playerid][AdminLevel] >= 2)
if(Player[id][AdminLevel] < Player[playerid][AdminLevel])
if(0 < amount < 99999999)
{
new string[128];
format(string, sizeof(string), "Fine: %s has been fined $%s by %s, defined reason: %s", GetName(id), IntToFormattedStr(amount), Player[playerid][AdminName], Reason);
SendClientMessageToAll(LIGHTRED, string);
Player[id][Money] -= amount;
if(Player[id][AdminLevel] < 1)
{
Player[playerid][AdminActions]++;
AdminActionsLog(string);
SendClientMessage(playerid, WHITE, "You have earned a Jason Point!");
}
}
}
return 1;
}
1. Because playerid is probably 0 here
Player[id][BeingTicketed] = playerid; and you check if(Player[playerid][BeingTicketed] > 0) its not higher than 0 then you sets to -1 Player[playerid][BeingTicketed] = -1; so sholud be if(Player[playerid][BeingTicketed] > -1) or if(Player[playerid][BeingTicketed] >= 0) 2. Try to use s[125] instead of z pawn Код:
|
printf("before: %d - %d | %d",Player[playerid][Money],Player[Player[playerid][BeingTicketed]][Money],Player[Player[playerid][BeingTicketed]][TicketPrice]);
Player[playerid][Money] -= Player[Player[playerid][BeingTicketed]][TicketPrice];
Player[Player[playerid][BeingTicketed]][Money] += Player[Player[playerid][BeingTicketed]][TicketPrice];
printf("after: %d - %d | %d",Player[playerid][Money],Player[Player[playerid][BeingTicketed]][Money],Player[Player[playerid][BeingTicketed]][TicketPrice]);
if(sscanf(params, "uds[125]", id, amount, Reason))
{
printf("id: %d, amount: %d, Reason: %s",id, amount, Reason);
Use prints in CopTicket and show results
pawn Код:
pawn Код:
|
CMD:fine(playerid, params[])
{
new string[128], giveplayerid, amount, reason[64];
if(sscanf(params, "uds", giveplayerid, amount, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fine [playerid/partofname] [amount] [reason]");
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(AdminDuty[playerid] != 0 && PlayerInfo[playerid][pAdmin] < 2)
{
}
if(IsPlayerConnected(giveplayerid))
{
if(amount < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Amount must be greater than 0");
return 1;
}
format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
Log("logs/admin.log", string);
format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
ABroadCast(COLOR_LIGHTRED, string, 1);
format(string, sizeof(string), "> {FF0606}You have been fined $%d by %s for %s", amount, GetPlayerNameEx(playerid), reason);
SendClientMessageEx(giveplayerid, COLOR_YELLOW, string);
GivePlayerCash(giveplayerid, -amount);
return 1;
}
else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "You're not a level 2 admin.");
}
return 1;
}
Here.
PHP код:
|
C:\Users\Will\Desktop\Desktop items\Servers\RP\gamemodes\VortexRoleplay.pwn(30422) : error 017: undefined symbol "COLOR_WHITE" C:\Users\Will\Desktop\Desktop items\Servers\RP\gamemodes\VortexRoleplay.pwn(30424) : error 017: undefined symbol "PlayerInfo" C:\Users\Will\Desktop\Desktop items\Servers\RP\gamemodes\VortexRoleplay.pwn(30424) : warning 215: expression has no effect C:\Users\Will\Desktop\Desktop items\Servers\RP\gamemodes\VortexRoleplay.pwn(30424) : error 001: expected token: ";", but found "]" C:\Users\Will\Desktop\Desktop items\Servers\RP\gamemodes\VortexRoleplay.pwn(30424) : error 029: invalid expression, assumed zero C:\Users\Will\Desktop\Desktop items\Servers\RP\gamemodes\VortexRoleplay.pwn(30424) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 5 Errors.
#define COLOR_WHITE 0xFFFFFFAA
CMD:fine(playerid, params[])
{
new string[128], giveplayerid, amount, reason[64];
if(sscanf(params, "uds", giveplayerid, amount, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fine [playerid/partofname] [amount] [reason]");
if(Player[playerid][AdminLevel] >= 2) {
{
if(Player[playerid][AdminLevel] < 2)
{
}
if(IsPlayerConnected(giveplayerid))
{
if(amount < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Amount must be greater than 0");
return 1;
}
format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
Log("logs/admin.log", string);
format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
ABroadCast(COLOR_LIGHTRED, string, 1);
format(string, sizeof(string), "> {FF0606}You have been fined $%d by %s for %s", amount, GetPlayerNameEx(playerid), reason);
SendClientMessageEx(giveplayerid, COLOR_YELLOW, string);
GivePlayerCash(giveplayerid, -amount);
return 1;
}
else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "You're not a level 2 admin.");
}
return 1;
}