02.07.2012, 19:57
Hi, I'm here because when I put the upcoming code in a FilterScript and compile it, I get no errors but when I'm on the server I try the commands and NONE of them work The FS loads correctly so I don't see why it doesn't work!!
ANY help would be greatly appreciated, thanks.
P.S. I know it's extremely long because i merged several other FSes so I wouldn't have a ton in the server Config.
ANY help would be greatly appreciated, thanks.
P.S. I know it's extremely long because i merged several other FSes so I wouldn't have a ton in the server Config.
Код:
#include <a_samp> #define COLOR_PINK 0xFF66FFAA #define lightgreen 0x38FF06FF #define orange 0xFF9900AA #define COLOR_LEMON 0xDDDD2357 #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define DISTANCE_BETWEEN_PLAYERS 5 //The minimum distance between players to be able to rob #define COLOR_ROB 0x00FFFFFF //The color of the text send to the players when made a successfull rob #define COLOR_FAIL 0x00FFFFFF //Color of the text displayed to the players when a rob has failed #define COLOR_ERROR 0xFF0000FF //Color of the text when there is an error #define ROB_TIME 6500 //Time between rob commands to prevent spam (in milliseconds) #define COLOR_FOUND 0xFFFF00AA //Color of the message if a hit was found in /hits #define COLOR_MSG 0x00FFFFFF //Color of general messages #define COLOR_ERROR 0xFF0000FF //Color of the message if there was an error #define ANTISPAM_TIME 6 //The minimum time between /hit commands to prevent spam (in seconds) #define COLOR_ERROR 0xFF0000FF //Color of the error messages #define COLOR_MSG 0x00FFFFFF //Color of general messages #define ANTISPAM_RAPE 5 //Minimum time between /rape commands (in seconds) #define ANTISPAM_CURE 20 //Minimum time between /cure commands (in seconds) #define CHLAMYDIA 3 //The interval which the player loses health with Chlamydia (in seconds) #define GONORRHEA 2 //The interval which the player loses health with Gonorrhea (in seconds) #define RAPE_DISTANCE 5.0 //Distance between players to be able to rape #define NUMVALUES 4 #define GREY 0xAFAFAFAA #define GREEN 0x33AA33AA #define YELLOW 0xFFFF00AA #define WHITE 0xFFFFFFAA #define LIGHTBLUE 0x33CCFFAA #define ORANGE 0xFF9900AA #define SPECIAL_ACTION_PISSING 68 #define COLOR_WHITE 0xFFFFFFFF #define COLOR_YELLOW 0xFFFF00AA #include <Dini> #define PlayerFile "Bank/%s.ini" #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA public OnPlayerConnect(playerid) { SendClientMessage(playerid, COLOR_PINK,"To view commands, type /cmds into the chat!"); //Sends a message to a player that connects. SendClientMessage(playerid, orange,"Also please be sure to look at the /rules."); return 1; } public OnPlayerDisconnect(playerid) { SendClientMessageToAll(lightgreen, "A player has disconnected from the server."); //Sends a message to all players when a player disconnects. return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/cmds", cmdtext, true)) //Sends a list of commands to any player that types /commands { SendClientMessage(playerid, lightgreen, "Server Commands: /anims, /stopanim, /placefw, /launchfw, /votekick, /vehiclemenu, /sellhouse, /trunk, /park, /sellcar "); SendClientMessage(playerid, lightgreen, "/bank, /banktele, /neon, /lshospital, /lsairport, /lspd, /lvbikejump, /lvpyramid, /lvsniperspot, /lvcrane"); SendClientMessage(playerid, lightgreen, "/exitrace, /joinrace, /setplate, /findcar, /lock, /sellcarto, /housemenu, /afk, /back, /rob, /rape, /cureme, /hit, /hits, /cure"); SendClientMessage(playerid, lightgreen, "*RCON ONLY* /healme, /armour, /createhouse, /buildrace, /startrace, /stoprace, /ghcmds, /cage, /races"); return 1; } if (strcmp("/rules", cmdtext, true)) { SendClientMessage(playerid, orange, "NO DEATH-MATCHING! Respect other players. Be nice to admins (We don't have to let you play ;D)"); SendClientMessage(playerid, orange, "Please don't swear excessively. Cheats ARE allowed, but in moderation. Have Fun!!!"); return 1; } if (strcmp("/races", cmdtext, true)) { IsPlayerAdmin(playerid) SendClientMessage(playerid, COLOR_LEMON, "Server Races: BMX, Bridge, FagRace , Field , Firetruck, Jump!, LOL , LOL2 , LVAirRace , Monstertruck madness "); SendClientMessage(playerid, COLOR_LEMON, "Nrg, Snowy's First Race"); //Displays a list of currently made races. return 1; } public OnPlayerSpawn(playerid) { GivePlayerMoney(playerid, 600000)//Gives the player 600k game cash when he/she spawns. new PlayerName[MAX_PLAYER_NAME], string[128]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); format(string, sizeof(string), "%s has spawned and recieved $600000.", PlayerName); //Sends a message to everyone saying "so & so has spawned and recieved 600k cash. SendClientMessageToAll(orange, string); return 1; } new robtime[MAX_PLAYERS]; new ID; stock Float:GetDistanceBetweenPlayers(p1,p2){ new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3; if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){ return -1.00; } GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x3,y3,z3); return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2)); } forward robtimer(id); dcmd_rob(playerid, params[]) { new pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, sizeof(pname)); if(!strlen(params)) { SendClientMessage(playerid, COLOR_ERROR, "Correct usage: /rob [ID]"); } else { ID = strval(params); if(robtime[playerid] == 0) { if(ID != playerid) { if(IsPlayerConnected(ID)) { new oname[MAX_PLAYER_NAME]; GetPlayerName(ID, oname, sizeof(oname)); if(GetDistanceBetweenPlayers(playerid, ID) <= DISTANCE_BETWEEN_PLAYERS) { if(!GetPlayerVehicleID(ID) || GetPlayerVehicleID(ID) == GetPlayerVehicleID(ID)) { if(GetPlayerMoney(ID) > 0) { new rob = random(11); if(rob == 1 || rob == 2 || rob == 10 || rob == 11) { new string[256]; format(string, sizeof(string), "%s (%i) noticed you trying to rob him. Attempt failed!",oname, ID); SendClientMessage(playerid, COLOR_ROB, string); format(string, sizeof(string), "~w~%s Noticed you trying to rob him.~n~Attempt failed!.",oname, ID); GameTextForPlayer(playerid, string, 5000, 4); GetPlayerName(playerid,pname,sizeof(pname)); format(string, sizeof(string), "You noticed %s (%i) trying to rob you. His attempt has failed!", pname, playerid); SendClientMessage(ID, COLOR_ROB, string); format(string, sizeof(string), "~w~You noticed %s trying to rob you.~n~His attempt has failed!", pname, playerid); GameTextForPlayer(ID, string, 5000, 4); } else if(rob == 3) { new pcash = GetPlayerMoney(ID); new robcash = random(pcash); GivePlayerMoney(ID, -robcash); GivePlayerMoney(playerid, robcash); GetPlayerName(playerid, pname, sizeof(pname)); new string[256]; format(string, sizeof(string), "You have robbed $%i from %s (%i).", robcash, oname, ID); SendClientMessage(playerid, COLOR_ROB, string); format(string, sizeof(string), "~w~Robbed $%i from %s.", robcash, oname); GameTextForPlayer(playerid, string, 5000, 4); format(string, sizeof(string), "%s (%i) has robbed $%i from you.", pname, playerid, robcash); SendClientMessage(ID, COLOR_ROB, string); format(string, sizeof(string), "~w~%s has robbed $%i from you.", pname, robcash); GameTextForPlayer(ID, string, 5000, 4); } else if(rob == 4 || rob == 5 || rob == 8) { new pcash = GetPlayerMoney(ID); new robcash = random(pcash); new robcash2 = robcash-random(robcash); GivePlayerMoney(ID, -robcash2); GivePlayerMoney(playerid, robcash2); new string[256]; GetPlayerName(playerid, pname, sizeof(pname)); format(string, sizeof(string), "You have robbed $%i from %s (%i).", robcash2, oname, ID); SendClientMessage(playerid, COLOR_ROB, string); format(string, sizeof(string), "~w~Robbed $%i from %s.", robcash2, oname); GameTextForPlayer(playerid, string, 5000, 4); format(string, sizeof(string), "%s (%i) has robbed $%i from you.", pname, playerid, robcash2); SendClientMessage(ID, COLOR_ROB, string); format(string, sizeof(string), "~w~%s has robbed $%i from you.", pname, robcash2); GameTextForPlayer(ID, string, 5000, 4); } else if(rob == 6 || rob == 7) { new pcash = GetPlayerMoney(ID); new robcash = random(pcash); new robcash2 = robcash-random(robcash); new robcash3 = robcash2-random(robcash2); GivePlayerMoney(ID, -robcash3); GivePlayerMoney(playerid, robcash3); new string[256]; GetPlayerName(playerid, pname, sizeof(pname)); format(string, sizeof(string), "You have robbed $%i from %s (%i).", robcash3, oname, ID); SendClientMessage(playerid, COLOR_ROB, string); format(string, sizeof(string), "%s (%i) has robbed $%i from you.", pname, playerid, robcash3); SendClientMessage(ID, COLOR_ROB, string); format(string, sizeof(string), "~w~Robbed $%i from %s.", robcash3, oname); GameTextForPlayer(playerid, string, 5000, 4); format(string, sizeof(string), "~w~%s has robbed $%i from you.", pname, robcash3); GameTextForPlayer(ID, string, 5000, 4); } else { SetPlayerHealth(playerid, -69); new string[256]; GetPlayerName(playerid, pname, sizeof(pname)); format(string, sizeof(string), "Your hand has stuck to %s (%i)'s pocket. ", oname, ID); SendClientMessage(playerid, COLOR_FAIL, string); SendClientMessage(playerid, COLOR_FAIL, "He noticed it and ripped your arms off."); format(string, sizeof(string), "%s (%i)'s hand has stuck to your pocket while trying to rob you.", pname, playerid); SendClientMessage(ID, COLOR_FAIL, string); SendClientMessage(ID, COLOR_FAIL, "You noticed it and ripped his arms off."); format(string, sizeof(string), "*** %s (%i) has bled to death.", pname, playerid); SendClientMessageToAll(0x880000FF, string); format(string, sizeof(string), "~w~%s has ripped your arms off.", oname, ID); GameTextForPlayer(playerid, string, 5000, 4); format(string, sizeof(string), "~w~Ripped %s's arms off.", oname, ID); GameTextForPlayer(ID, string, 5000, 4); } robtime[playerid] = 1; SetTimerEx("robtimer", ROB_TIME, false, "i", playerid); } else { new string[256]; format(string, sizeof(string), "%s (%i) has no money to rob!", oname, ID); SendClientMessage(playerid, COLOR_ERROR, string); } } else { new string[256]; format(string, sizeof(string), "%s (%i) has to be in the same vehicle as you to be able to rob!", oname, ID); SendClientMessage(playerid, COLOR_ERROR, string); } } else { new string[256]; format(string, sizeof(string), "%s (%i) is not close enough to rob.", oname, ID); SendClientMessage(playerid, COLOR_ERROR, string); } } else { SendClientMessage(playerid, COLOR_ERROR, "That player is not connected!"); } } else { SendClientMessage(playerid, COLOR_ERROR, "You cannot rob yourself!"); } } else { SendClientMessage(playerid, COLOR_ERROR, "Please wait before robbing someone again."); } } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(rob, 3, cmdtext); return 0; } public robtimer(id) { robtime[id] = 0; } new hit[MAX_PLAYERS]; new hiter[MAX_PLAYERS]; new ID; new antispam[MAX_PLAYERS]; stock ReturnPlayerName(id) { new tehname[MAX_PLAYER_NAME]; GetPlayerName(id, tehname, sizeof(tehname)); return tehname; } stock sscanf(string[], format[], {Float,_}:...) { new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(); while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if (ch >= '0' && ch <= '9') { num = (num * 10) + (ch - '0'); } else { return 1; } } while ((ch = string[stringPos]) && ch != ' '); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new ch, num = 0; while ((ch = string[stringPos++])) { switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } case ' ': { break; } default: { return 1; } } } setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new tmp[25]; strmid(tmp, string, stringPos, stringPos+sizeof(tmp)-2); setarg(paramPos, 0, _:floatstr(tmp)); } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != ' ') { setarg(paramPos, i++, ch); } if (!i) return 1; } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != ' ') { stringPos++; } while (string[stringPos] == ' ') { stringPos++; } paramPos++; } while (format[formatPos] == 'z') formatPos++; return format[formatPos]; } dcmd_hit(playerid, params[]) { new amount; if(sscanf(params, "dd", ID, amount)) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: /hit [ID] [amount]"); } else if(amount > 0) { if(IsPlayerConnected(ID)) { if(GetPlayerMoney(playerid) >= amount) { if(antispam[playerid] == 0) { hit[ID] = amount; hiter[ID] = playerid; new string[256]; format(string, sizeof(string), "You have placed a hit on %s (%i) for $%i", ReturnPlayerName(ID), ID, amount); SendClientMessage(playerid, COLOR_MSG, string); format(string, sizeof(string), "%s (%i) has placed a hit on %s (%i) for $%i", ReturnPlayerName(playerid), playerid, ReturnPlayerName(ID), ID, amount); SendClientMessageToAll(COLOR_MSG, string); antispam[playerid] = 1; SetTimerEx("antispamtimer", ANTISPAM_TIME*1000, false, "d", playerid); } else { SendClientMessage(playerid, COLOR_ERROR, "Please wait before placing another hit!"); } } else { SendClientMessage(playerid, COLOR_ERROR, "You do not have enough money!"); } } else { SendClientMessage(playerid, COLOR_ERROR, "That player is not connected!"); } } else { SendClientMessage(playerid, COLOR_ERROR, "Minimum amount to hit a person with is $1!"); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(hit, 3, cmdtext); if(!strcmp(cmdtext, "/hits", true)) { new count = 0; SendClientMessage(playerid, COLOR_MSG, "Listing currently placed hits:"); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && hit[i] > 0) { new string[256]; format(string, 256, "Hit on %s (%i) for $%i", ReturnPlayerName(i), i, hit[i]); SendClientMessage(playerid, COLOR_FOUND, string); count++ } } if(count == 0) { SendClientMessage(playerid, COLOR_ERROR, "No hits placed at this time!"); } } return 0; } public OnPlayerDeath(playerid, killerid, reason) { if(reason <= 46 && hit[playerid] != 0) { new string[256]; format(string, sizeof(string), "%s (%i) killed %s (%i) and recieved $%i for a completed hit", ReturnPlayerName(killerid), killerid, ReturnPlayerName(playerid), playerid, hit[playerid]); SendClientMessageToAll(COLOR_MSG, string); GivePlayerMoney(killerid, hit[playerid]); GivePlayerMoney(hiter[playerid], GetPlayerMoney(hiter[playerid])-hit[playerid]); hit[playerid] = 0; } else if(hit[playerid] != 0) { new string[256]; format(string, sizeof(string), "The hit on %s (%i) has been cancelled (died)", ReturnPlayerName(playerid), playerid); SendClientMessageToAll(COLOR_MSG, string); hit[playerid] = 0; } return 1; } public OnPlayerDisconnect(playerid) { if(hit[playerid] > 0) { new string[256]; format(string, sizeof(string), "The hit on %s (%i) has been cancelled (disconnected)", ReturnPlayerName(playerid), playerid); SendClientMessageToAll(COLOR_MSG, string); hit[playerid] = 0; } return 1; } forward antispamtimer(id); public antispamtimer(id) { antispam[id] = 0; } stock Float:GetDistanceBetweenPlayers(p1,p2){ new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3; if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){ return -1.00; } GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x3,y3,z3); return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2)); } new string[256]; new chlamydia[MAX_PLAYERS]; new gonorrhea[MAX_PLAYERS]; new rapespam[MAX_PLAYERS]; new curespam[MAX_PLAYERS]; stock ReturnPlayerName(id) { new thename[MAX_PLAYER_NAME]; GetPlayerName(id, thename, MAX_PLAYER_NAME); return thename; } dcmd_rape(playerid, params[]) { new ID = strval(params); if(!strlen(params)) { SendClientMessage(playerid, COLOR_ERROR, "USAGE: /rape [ID]"); } else { if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_ERROR, "That player is not connected!"); if(ID == playerid) return SendClientMessage(playerid, COLOR_ERROR, "You cannot rape yourself!"); if(rapespam[playerid] == 0) { if(GetDistanceBetweenPlayers(playerid,ID) > RAPE_DISTANCE) return SendClientMessage(playerid, COLOR_ERROR, "You are not close enough to eachother!"); new raperand = random(5); if(raperand == 1 || raperand == 2) { format(string, sizeof(string), "%s (%i) noticed you trying to rape him", ReturnPlayerName(ID), ID); SendClientMessage(playerid, COLOR_MSG, string); format(string, sizeof(string), "%s (%i) tried to rape you", ReturnPlayerName(playerid), playerid); SendClientMessage(ID, COLOR_MSG, string); } else if(raperand == 3 || raperand == 5) { if(!chlamydia[ID]) { chlamydia[ID] = 1; new Float:health; GetPlayerHealth(ID, health); SetPlayerHealth(ID, health-5-random(10)); format(string, 256, "You raped and infected %s (%i) with Chlamydia", ReturnPlayerName(ID), ID); SendClientMessage(playerid, COLOR_MSG, string); format(string, sizeof(string), "%s (%i) raped you and infected you with Chlamydia", ReturnPlayerName(playerid), playerid); SendClientMessage(ID, COLOR_MSG, string); } else { new Float:health; GetPlayerHealth(ID, health); SetPlayerHealth(ID, health-5-random(15)); format(string, 256, "You raped %s (%i)", ReturnPlayerName(ID), ID); SendClientMessage(playerid, COLOR_MSG, string); format(string, sizeof(string), "%s (%i) raped you", ReturnPlayerName(playerid), playerid); SendClientMessage(ID, COLOR_MSG, string); } } else if(raperand == 4) { if(!gonorrhea[ID]) { gonorrhea[ID] = 1; new Float:health; GetPlayerHealth(ID, health); SetPlayerHealth(ID, health-5-random(20)); format(string, 256, "You raped and infected %s (%i) with Gonorrhea", ReturnPlayerName(ID), ID); SendClientMessage(playerid, COLOR_MSG, string); format(string, sizeof(string), "%s (%i) raped you and infected you with Gonorrhea", ReturnPlayerName(playerid), playerid); SendClientMessage(ID, COLOR_MSG, string); } else { new Float:health; GetPlayerHealth(ID, health); SetPlayerHealth(ID, health-5-random(20)); format(string, 256, "You raped %s (%i)", ReturnPlayerName(ID), ID); SendClientMessage(playerid, COLOR_MSG, string); format(string, sizeof(string), "%s (%i) raped you", ReturnPlayerName(playerid), playerid); SendClientMessage(ID, COLOR_MSG, string); } } rapespam[playerid] = 1; SetTimerEx("rapespamt", ANTISPAM_RAPE*1000, false, "i", playerid); } else { SendClientMessage(playerid, COLOR_ERROR, "Please wait before raping someone again!"); } } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(rape, 4, cmdtext); if(!strcmp(cmdtext, "/cure", true)) { if(curespam[playerid] == 0) { if(chlamydia[playerid] || gonorrhea[playerid]) { new randcure = random(3); if(randcure == 1 || randcure == 2) { SendClientMessage(playerid, COLOR_MSG, "You tried to cure yourself by poking yourself in random places with a needle but it failed"); } else { SendClientMessage(playerid, COLOR_MSG, "You tried to cure yourself by poking yourself in random places with a needle and it worked!!"); SendClientMessage(playerid, COLOR_MSG, "You are now cured from all diseases!"); chlamydia[playerid] = 0; gonorrhea[playerid] = 0; } SetTimerEx("curespamt", ANTISPAM_CURE*1000, false, "i", playerid); curespam[playerid] = 1; } else { SendClientMessage(playerid, COLOR_ERROR, "You don't have any STDs to cure!"); } } else { SendClientMessage(playerid, COLOR_ERROR, "Please wait before trying to cure yourself again!"); } return 1; } return 0; } public OnFilterScriptInit() { SetTimer("checkchlamy", CHLAMYDIA*1000, true); SetTimer("checkgono", GONORRHEA*1000, true); } public OnPlayerDeath(playerid, killerid, reason) { chlamydia[playerid] = 0; gonorrhea[playerid] = 0; } forward checkchlamy(); public checkchlamy() { for(new i = 0; i < MAX_PLAYERS; i++) { if(chlamydia[i] == 1 && IsPlayerConnected(i)) { new Float:health; GetPlayerHealth(i, health); SetPlayerHealth(i, health-5-random(10)); } } } forward checkgono(); public checkgono() { for(new i = 0; i < MAX_PLAYERS; i++) { if(gonorrhea[i] == 1 && IsPlayerConnected(i)) { new Float:health; GetPlayerHealth(i, health); SetPlayerHealth(i, health-5-random(20)); } } } forward rapespamt(Id); public rapespamt(Id) { rapespam[Id] = 0; } forward curespamt(id); public curespamt(id) { curespam[id] = 0; } #include <a_samp> #define FILTERSCRIPT #define red 0xAA3333AA //Sets the players health to full { if(!strcmp("/healme", cmdtext, true)) { if(IsPlayerAdmin(playerid)) SetPlayerHealth(playerid, 100); SendClientMessage(playerid, red, "You have used the /healme command! Would you like to replace your armour?"); SendClientMessage(playerid, red, "If you would like to, please type /armour."); return 1; } if(!strcmp("/armour", cmdtext, true)) { if(IsPlayerAdmin(playerid)) SetPlayerArmour(playerid, 100); SendClientMessage(playerid, red, "You have successfully restored your armour!"); return 1; } new Votes = 0; new Voted[MAX_PLAYERS]; new VoteActive; new thingy; new VPlayers; new KickName[24]; new PlayerName[24]; new IDofotherplayer; forward CountDownTimer(playerid); new Count; new Timer; new Text:TCountDown; new Text:VoteKick; #if defined FILTERSCRIPT public OnFilterScriptInit() { print("\n--------------------------------------"); print(" HERRRRRRTTTTTTT"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } #endif public OnPlayerConnect(playerid) { Voted[playerid] = 0; return 1; } public CountDownTimer(playerid) { new string[3]; Count--; TextDrawDestroy(TCountDown); format(string,sizeof(string),"%d",Count); TCountDown = TextDrawCreate(300.0,300.0,string); TextDrawTextSize(TCountDown,0.7,3.0); TextDrawShowForAll(TCountDown); if(Count == 0) { KillTimer(Timer); KillTimer(thingy); TextDrawDestroy(TCountDown); TextDrawDestroy(VoteKick); Voted[playerid] = 0; } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(votekick,8,cmdtext); dcmd(vote,4,cmdtext); dcmd(stopvote,8,cmdtext); return 0; } dcmd_stopvote(playerid,params[]) { #pragma unused params if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,LIGHTBLUE,"You are not an admin!"); TextDrawDestroy(TCountDown); TextDrawDestroy(VoteKick); KillTimer(Timer); KillTimer(thingy); SendClientMessageToAll(0xFF0000FF,"An admin has stopped the vote kick."); return 1; } dcmd_votekick(playerid,params[]) { new id,n[24],on[24],str2[128],string[3]; new tmp[256], tmp2[256], Index,str[128]; VPlayers = GetPlayersOnServer()/2+1; if(GetPlayersOnServer() <= 2) return SendClientMessage(playerid,GREY,"There needs to be atleast 3 people online to use this command."); tmp = strtok(params,Index), tmp2 = strtok(params,Index),id = strval(tmp); if(IsPlayerAdmin(id)) return SendClientMessage(playerid,0xFF0000FF,"You cannot use the vote-kick feature on an admin!"); if(VoteActive == 1) return SendClientMessage(playerid,0xFF0000FF,"There is already a votekick in proccess, please wait untill it is finished."); IDofotherplayer = id; GetPlayerName(playerid,n,24),GetPlayerName(id,on,24); Voted[playerid] = 1; KickName = on; PlayerName = n; if(!strlen(params)) return SendClientMessage(playerid,GREY,"USAGE: /votekick <ID> <Reason>"); if(!IsPlayerConnected(id))return SendClientMessage(playerid,GREY,"You have entered an incorrect ID."); Votes = 1; VoteActive = 1; format(str2,sizeof(str2),"~r~Votekick on ~w~%s. ~r~%d/%d",PlayerName,Votes,VPlayers); VoteKick = TextDrawCreate(50.0,300.0,str2); TextDrawLetterSize(VoteKick,0.5,2.5); TextDrawShowForAll(VoteKick); thingy = SetTimer("VoteFail",21000,false); Timer = SetTimerEx("CountDownTimer",1000,true,"i",playerid); format(str,sizeof(str),"%s has started a votekick on %s. Reason: %s",n,on,params[2]); SendClientMessageToAll(0xFF0000FF,str); format(string,sizeof(string),"%d",Count); TCountDown = TextDrawCreate(300.0,300.0,string); Count = 21; return 1; } dcmd_vote(playerid,params[]) { #pragma unused params new str[128],name[24],str2[128]; GetPlayerName(playerid,name,24); if(VoteActive == 0) return SendClientMessage(playerid,GREY,"There is no active vote kick on right now."); if(Voted[playerid] == 1) return SendClientMessage(playerid,LIGHTBLUE,"You have already voted!"); KillTimer(thingy); thingy = SetTimer("VoteFail",21000,false); Votes++; Voted[playerid] = 1; format(str,sizeof(str),"%s has voted. %d/%d",name,Votes,VPlayers); SendClientMessageToAll(0xFF0000FF,str); TextDrawDestroy(VoteKick); format(str2,sizeof(str),"~r~Votekick on ~w~%s. ~r~%d/%d",KickName,Votes,VPlayers); TextDrawCreate(50.0,300,str2); TextDrawLetterSize(VoteKick,0.5,2.5); TextDrawShowForAll(VoteKick); KillTimer(Timer); Timer = SetTimer("CountDownTimer",1000,true); Count = 21; if(Votes == VPlayers) { format(str,sizeof(str),"%s has been kicked. %d/%d votes.",KickName,Votes,Votes); SendClientMessageToAll(0xFF0000FF,str); TextDrawDestroy(VoteKick); KillTimer(thingy); VoteActive = 0; Kick(IDofotherplayer); return 1; } return 1; } forward VoteFail(playerid); public VoteFail(playerid) { Votes = 0; VoteActive = 0; Voted[playerid] = 0; SendClientMessageToAll(LIGHTBLUE,"There were not enough votes for the vote-kick."); TextDrawDestroy(VoteKick); return 1; } GetPlayersOnServer() { new count; for(new x=0; x< MAX_PLAYERS; x++) { if(IsPlayerConnected(x)) { count++; } } return count; } 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; } if (strcmp("/anims", cmdtext, true, 10) == 0) { SendClientMessage(playerid, COLOR_WHITE, "/relax | /scared | /sick | /wave | /spank | /taichi | /crossarms |"); SendClientMessage(playerid, COLOR_WHITE, "/wank | /kiss | /talk | /fuckyou | /cocaine | /rocky | /sit | /smoke |"); SendClientMessage(playerid, COLOR_WHITE, "/beach | /lookout | /circle | /medic | /chat | /die | /slapa | /rofl |"); SendClientMessage(playerid, COLOR_WHITE, "/glitched | /fakefire | /bomb | /robman | /handsup | /piss |"); SendClientMessage(playerid, COLOR_WHITE, "/getin | /skate | /cover | /fart | /vomit | /drunk | /bj1 | /bj2 | /bj3"); SendClientMessage(playerid, COLOR_WHITE, "/funnywalk | /kickass | /cell | /laugh | /eat | /injured |"); SendClientMessage(playerid, COLOR_WHITE, "/slapass | /laydown | /arrest | /laugh | /eat | /carjack | /strip | /strip2"); SendClientMessage(playerid, COLOR_WHITE, "/animswat | /animswat1 | /animswat2 | /animswat3 | /animswat4 | /animswat5"); SendClientMessage(playerid, COLOR_WHITE, "/animswat6 | /strip3 | /strip4 | /strip5 | /baseball | /baseball2"); return 1; } else if (strcmp(cmdtext, "/relax", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/handsup", true)==0) { if (GetPlayerState(playerid)== 1) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP); } return 1; } else if (strcmp(cmdtext, "/bomb", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/robman", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/wank", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PAULNMAC", "wank_loop", 1.800001, 1, 0, 0, 1, 600); } return 1; } else if (strcmp(cmdtext, "/crossarms", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PAULNMAC", "wank_loop", 1.800001, 1, 0, 0, 1, 600); } return 1; } else if (strcmp(cmdtext, "/taichi", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PARK","Tai_Chi_Loop",4.0,1,0,0,0,0); } return 1; } else if (strcmp(cmdtext, "/spank", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/wave", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/sick", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/scared", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "ped", "cower", 3.0, 1, 0, 0, 0, 0); } return 1; } else if (strcmp(cmdtext, "/talk", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PED","IDLE_CHAT",1.800001, 1, 1, 1, 1, 13000); } return 1; } else if (strcmp(cmdtext, "/kiss", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"KISSING", "Grlfrd_Kiss_02", 1.800001, 1, 0, 0, 1, 600); } return 1; } else if (strcmp(cmdtext, "/sit", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"INT_OFFICE", "OFF_Sit_Bored_Loop", 1.800001, 1, 0, 0, 1, 600); } return 1; } else if (strcmp(cmdtext, "/fuckyou", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"ped", "fucku", 4.1, 0, 1, 1, 1, 1 ); } return 1; } else if (strcmp(cmdtext, "/cocaine", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"CRACK", "crckdeth2", 1.800001, 1, 0, 0, 1, 600); } return 1; } else if (strcmp(cmdtext, "/rocky", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"GYMNASIUM", "GYMshadowbox", 1.800001, 1, 0, 0, 1, 600); } return 1; } else if (strcmp(cmdtext, "/smoke", true)==0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); } return 1; } else if (strcmp("/beach", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"BEACH","SitnWait_loop_W",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/lookout", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"ON_LOOKERS","lkup_in",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/circle", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"CHAINSAW","CSAW_Hit_2",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/medic", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"MEDIC","CPR",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/chat", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/die", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PED","BIKE_fallR",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/slapa", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PED","BIKE_elbowL",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/rofl", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PED","Crouch_Roll_L",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/glitched", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"TATTOOS","TAT_Sit_Out_O",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/fakefire", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"SILENCED","SilenceCrouchfire",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/fart", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { PlayerPlaySound(playerid, 1147, 0.0, 0.0, 0.0); } return 1; } else if (strcmp("/vomit", cmdtext, true) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); // Vomit BAH! PlayerPlaySound(playerid, 1169, 0.0, 0.0, 0.0); } return 1; } else if (strcmp("/drunk", cmdtext, true, 10) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/getin", cmdtext, true) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"NEVADA","NEVADA_getin",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/piss", cmdtext, true) == 0) { if (GetPlayerState(playerid)== 1) { SetPlayerSpecialAction(playerid, SPECIAL_ACTION_PISSING); } return 1; } else if (strcmp("/funnywalk", cmdtext, true) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"WUZI","Wuzi_Walk",4.1,0,1,1,1,1); } return 1; } else if (strcmp("/kickass", cmdtext, true) == 0) { if (GetPlayerState(playerid)== 1) { ApplyAnimation(playerid,"FIGHT_E","Hit_fightkick",4.1,0,1,1,1,1); } return 1; } if(strcmp("/cell", cmdtext, true) == 0) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE); return 1; } if (strcmp("/laugh", cmdtext, true) == 0) { ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); // Laugh return 1; } if (strcmp("/eat", cmdtext, true) == 0) { ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0); // Eat Burger return 1; } if(strcmp("/injured", cmdtext, true) == 0) { ApplyAnimation(playerid, "SWEET", "Sweet_injuredloop", 4.0, 1, 0, 0, 0, 0); return 1; } if (strcmp("/slapass", cmdtext, true) == 0) { ApplyAnimation(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); // Ass Slapping return 1; } if (strcmp("/laydown", cmdtext, true) == 0) { ApplyAnimation(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0); // Lay down return 1; } if (strcmp("/arrest", cmdtext, true) == 0) { ApplyAnimation(playerid,"ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1); // Gun Arrest return 1; } if(strcmp("/carjack", cmdtext, true) == 0) { ApplyAnimation(playerid,"PED","CAR_jackedLHS",4.0,0,1,1,1,0); return 1; } else if (strcmp(cmdtext, "/stopanim", true)==0) { ClearAnimations(playerid); return 1; } if(strcmp("/bj1", cmdtext, true) == 0) { ApplyAnimation(playerid,"BLOWJOBZ","BJ_STAND_END_W",4.0,0,1,1,1,0); return 1; } if(strcmp("/bj2", cmdtext, true) == 0) { ApplyAnimation(playerid,"BLOWJOBZ","BJ_STAND_END_P",4.0,0,1,1,1,0); return 1; } if(strcmp("/bj3", cmdtext, true) == 0) { ApplyAnimation(playerid,"BLOWJOBZ","BJ_STAND_LOOP_W",4.0,0,1,1,1,0); return 1; } if(strcmp("/animswat", cmdtext, true) == 0) { ApplyAnimation(playerid,"SWAT","gnstwall_injurd",4.0,0,1,1,1,0); return 1; } if(strcmp("/animswat2", cmdtext, true) == 0) { ApplyAnimation(playerid,"SWAT","JMP_Wall1m_180",4.0,0,1,1,1,0); return 1; } if(strcmp("/animswat3", cmdtext, true) == 0) { ApplyAnimation(playerid,"SWAT","Rail_fall",4.0,0,1,1,1,0); return 1; } if(strcmp("/animswat4", cmdtext, true) == 0) { ApplyAnimation(playerid,"SWAT","Rail_fall_crawl",4.0,0,1,1,1,0); return 1; } if(strcmp("/animswat5", cmdtext, true) == 0) { ApplyAnimation(playerid,"SWAT","swt_breach_01",4.0,0,1,1,1,0); return 1; } if(strcmp("/animswat6", cmdtext, true) == 0) { ApplyAnimation(playerid,"SWAT","swt_breach_02",4.0,0,1,1,1,0); return 1; } if(strcmp("/strip", cmdtext, true) == 0) { ApplyAnimation(playerid,"STRIP","strip_A",4.0,0,1,1,1,0); return 1; } if(strcmp("/strip2", cmdtext, true) == 0) { ApplyAnimation(playerid,"STRIP","strip_B",4.0,0,1,1,1,0); return 1; } if(strcmp("/strip3", cmdtext, true) == 0) { ApplyAnimation(playerid,"STRIP","strip_C",4.0,0,1,1,1,0); return 1; } if(strcmp("/strip4", cmdtext, true) == 0) { ApplyAnimation(playerid,"STRIP","strip_D",4.0,0,1,1,1,0); return 1; } if(strcmp("/stri5", cmdtext, true) == 0) { ApplyAnimation(playerid,"STRIP","strip_E",4.0,0,1,1,1,0); return 1; } if(strcmp("/Baseball", cmdtext, true) == 0) { ApplyAnimation(playerid,"BASEBALL","Bat_1",4.0,0,1,1,1,0); return 1; } if(strcmp("/baseball2", cmdtext, true) == 0) { ApplyAnimation(playerid,"BASEBALL","Bat_2",4.0,0,1,1,1,0); return 1; } enum PLAYER_MAIN { Deposit, }; new pInfo[MAX_PLAYERS][PLAYER_MAIN]; new GetinBank; new GetoutBank; new chosenpid; public OnFilterScriptInit() { print("\n**************"); print("*EBank Loaded*"); print("**************\n"); GetinBank = CreatePickup(1318, 1, 1481.283813, -1770.431152, 18.795755, 0); GetoutBank = CreatePickup(1318, 1, 2304.675537, -16.035686, 26.742187, 0); SetTimer("CallConnect",1,0); return 1; } forward CallConnect(playerid); public CallConnect(playerid) { for(new i = 0; i < MAX_PLAYERS; i++) { OnPlayerConnect(i); } return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid,COLOR_YELLOW,"This Server Use Etch's EBank"); SetPlayerMapIcon(playerid, 12, 1481.283813, -1770.431152, 18.795755, 52, 1); new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name); if(!dini_Exists(file)) { dini_Create(file); dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]); } else if(dini_Exists(file)) { pInfo[playerid][Deposit] = dini_Int(file,"Deposit"); } return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerPickUpPickup(playerid,pickupid) { if(pickupid == GetinBank) { SetPlayerPos(playerid,2313,-4, 27); SendClientMessage(playerid,COLOR_YELLOW,"Type /bank"); SetCameraBehindPlayer(playerid); return 0; } if(pickupid == GetoutBank) { SetPlayerPos(playerid,1481.130371,-1763.401000, 18.795755); SetPlayerFacingAngle(playerid,0.0); SetCameraBehindPlayer(playerid); return 0; } return 1; } public OnPlayerDisconnect(playerid, reason) { new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name); dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1122) //deposit { new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name); if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); else if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,COLOR_RED,"You Don't Have That Amount!"); else if(!IsNumeric(inputtext)) { new string[128]; format(string,sizeof(string),"Your Curret Balance Is : %d\nEnter The Amount You Want To Deposit Below :",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1122,DIALOG_STYLE_INPUT,"Deposit",string,"Deposit","Back"); SendClientMessage(playerid,COLOR_RED,"Please Use Numbers"); } else { GivePlayerMoney(playerid,-strval(inputtext)); pInfo[playerid][Deposit] += strval(inputtext); new string[128]; format(string,sizeof(string),"You Have Deposited : %d$",strval(inputtext)); SendClientMessage(playerid,COLOR_YELLOW,string); dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]); new string2[128]; format(string2,128,"Your New Balance Is : %d$",pInfo[playerid][Deposit]); SendClientMessage(playerid,COLOR_YELLOW,string2); ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); } return 1; } if(dialogid == 1123) //withdraw { new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name); if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); else if(strval(inputtext) > pInfo[playerid][Deposit]) return SendClientMessage(playerid,COLOR_RED,"You Don't Have That Amount In Bank!"); else if(!IsNumeric(inputtext)) { new string[128]; format(string,sizeof(string),"Your Current Balance Is :%d\nEnter The Amount You Want To Withdraw Below :",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Withdraw",string,"Withdraw","Back"); SendClientMessage(playerid,COLOR_RED,"Please Use Numbers"); } else { GivePlayerMoney(playerid,strval(inputtext)); pInfo[playerid][Deposit] -= strval(inputtext); new string[128]; format(string,sizeof(string),"You Have Withdrawed : %d$",strval(inputtext)); SendClientMessage(playerid,COLOR_YELLOW,string); dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]); new string2[128]; format(string2,128,"Your New Balance Is : %d$",pInfo[playerid][Deposit]); SendClientMessage(playerid,COLOR_YELLOW,string2); ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); } return 1; } if(dialogid == 1124) { if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); else { ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); } return 1; } if(dialogid == 1130) //transfer (choose playerid) { if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); else if(strval(inputtext) == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Player Not Online"); else if(!IsNumeric(inputtext)) { new string[128]; format(string,sizeof(string),"Your Current Balance Is :%d$\nEnter The Player ID You Want To Transfer To Below :",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1130,DIALOG_STYLE_INPUT,"Transfer",string,"Next","Back"); SendClientMessage(playerid,COLOR_RED,"Please Use ID Not Name"); } else { chosenpid = strval(inputtext); new string[128]; format(string,sizeof(string),"Balance : %d\nChosen Player ID : %d\nNow Enter The Amount You Want To Transfer",pInfo[playerid][Deposit],chosenpid); ShowPlayerDialog(playerid,1131,DIALOG_STYLE_INPUT,"Transfer",string,"Transfer","Back"); } return 1; } if(dialogid == 1131) //transfer (choose amount) { new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name); if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); else if(strval(inputtext) > pInfo[playerid][Deposit]) return SendClientMessage(playerid,COLOR_RED,"You Don't Have That Amount In Bank To Transfer"); else if(!IsNumeric(inputtext)) { new string[128]; format(string,sizeof(string),"Chosen Player ID : %d\nNow Enter The Amount You Want To Transfer",chosenpid); ShowPlayerDialog(playerid,1131,DIALOG_STYLE_INPUT,"Transfer",string,"Transfer","Back"); SendClientMessage(playerid,COLOR_RED,"Please Use Numbers"); } else { pInfo[playerid][Deposit] -= strval(inputtext); pInfo[chosenpid][Deposit] += strval(inputtext); new string[128]; format(string,sizeof(string),"You Transfered %d$ To ID %d Bank Account",strval(inputtext),chosenpid); SendClientMessage(playerid,COLOR_YELLOW,string); dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]); new string2[128]; format(string2,128,"Your New Balance Is : %d$",pInfo[playerid][Deposit]); SendClientMessage(playerid,COLOR_YELLOW,string2); new string3[128]; format(string3,128,"ID : %d Transfered %d$ To Your Bank Account",playerid,strval(inputtext)); SendClientMessage(chosenpid,COLOR_YELLOW,string3); new string4[128]; format(string4,128,"Your New Balance : %d$",pInfo[chosenpid][Deposit]); SendClientMessage(chosenpid,COLOR_YELLOW,string4); ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); } return 1; } if(dialogid == 1125 && response) // /bank { switch(listitem) { case 0: { new string[128]; format(string,sizeof(string),"Your Curret Balance Is : %d$\nEnter The Amount You Want To Deposit Below :",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1122,DIALOG_STYLE_INPUT,"Deposit",string,"Deposit","Back"); } case 1: { new string[128]; format(string,sizeof(string),"Your Current Balance Is :%d\nEnter The Amount You Want To Withdraw Below :",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Withdraw",string,"Withdraw","Back"); } case 2: { new string[128]; format(string,sizeof(string),"Your Balance Is %d$",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1124,DIALOG_STYLE_MSGBOX,"Balance",string,"Ok","Back"); } case 3: { new string[128]; format(string,sizeof(string),"Your Current Balance Is :%d$\nEnter The Player ID You Want To Transfer To Below :",pInfo[playerid][Deposit]); ShowPlayerDialog(playerid,1130,DIALOG_STYLE_INPUT,"Transfer",string,"Next","Back"); } } } return 0; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(bank,4,cmdtext); dcmd(banktele,8,cmdtext); return 0; } dcmd_bank(playerid,params[]) { #pragma unused params if(!IsPlayerInRangeOfPoint(playerid,15.0,2313,-4, 27)) return SendClientMessage(playerid,COLOR_RED,"You Have To Be In The Bank"); else { ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Deposit\nWithdraw\nBalance\nTransfer","Select","Cancel"); } return 1; } dcmd_banktele(playerid,params[]) { #pragma unused params SetPlayerPos(playerid,1481.049804,-1745.565673,13.667258); SendClientMessage(playerid,COLOR_YELLOW,"Welcome To Bank"); SetPlayerFacingAngle(playerid,180.0); SetCameraBehindPlayer(playerid); return 1; } //------------------[SSCANF]------------------------------------- stock sscanf(string[], format[], {Float,_}:...) { #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0; } stock IsNumeric(string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; } return 0; } #endif