Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ZiPoNz codes system - © 2012
- #include "a_samp"
- #include "DOF"
- #pragma unused DOF2_Exit
- #define CodesFile "Codes.ini"
- #define CodesDialog 981
- #define CodesDialog2 982
- #define CodesDialog3 983
- #define CodesDialogChose 984
- new letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
- new CInfo[MAX_PLAYERS];
- enum PCode
- {
- bool:CarJump, bool:VSpeed, bool:Jetpack
- }
- new Player[MAX_PLAYERS][PCode];
- public OnFilterScriptInit()
- {
- if(!DOF2_FileExists(CodesFile)) DOF2_CreateFile(CodesFile);
- return true;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[128], idx;
- cmd = strtok(cmdtext, idx);
- if(!strcmp(cmdtext, "/createcode", true))
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê àãîéï");
- return ShowPlayerDialog(playerid, CodesDialogChose, DIALOG_STYLE_LIST, ".éöéøú ÷åãéí áùøú", "1. áçéøú ñåâ+÷åã øðãåîàìé\n\r2. áçéøú ñåâ+÷åã\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
- }
- if(!strcmp(cmd, "/code", true))
- {
- new string[164];
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] ./code [Code text] ä÷ìã");
- if(!DOF2_IsSet(CodesFile, cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .÷åã æä àéðå ÷ééí");
- switch(DOF2_GetInt(CodesFile, cmd))
- {
- case 1: GivePlayerMoney(playerid, random(20000));
- case 2: GivePlayerWeapon(playerid, random(36), 500);
- case 3: Player[playerid][CarJump] = true;
- case 4: Player[playerid][VSpeed] = true;
- case 5: Player[playerid][Jetpack] = true, SetPlayerSpecialAction(playerid, 2);
- }
- new PName[24];
- GetPlayerName(playerid, PName, 24);
- format(string, 128, ".æëä á÷åã: %s %s :äùç÷ï", IsCodeType(DOF2_GetInt(CodesFile, cmd)), cmd, PName);
- SendClientMessageToAll(0xFFFFFF00, string);
- return DOF2_Unset(CodesFile, cmd), DOF2_SaveFile();
- }
- return false;
- }
- public OnPlayerSpawn(playerid)
- {
- if(Player[playerid][Jetpack]) SetPlayerSpecialAction(playerid, 2);
- return true;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_SUBMISSION && Player[playerid][CarJump])
- {
- new Float:Pos[3];
- GetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]);
- SetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]+0.2);
- }
- if(newkeys & KEY_FIRE && Player[playerid][VSpeed])
- {
- new Float:Pos[5];
- GetVehicleVelocity(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
- Pos[3] = floatsqroot(Pos[0]*Pos[0] + Pos[1]*Pos[1] + Pos[2]*Pos[2]);
- if(Pos[3] > 0)
- {
- Pos[4] = ((50 + Pos[3] * 100) / (Pos[3] * 100));
- return SetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0]*Pos[4],Pos[1]*Pos[4],Pos[2]*Pos[4]);
- }
- }
- return true;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case CodesDialogChose:
- {
- if(!response) return true;
- switch(listitem)
- {
- case 0: ShowPlayerDialog(playerid, CodesDialog, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà øùåí àú {ffffff}äîñôø{a9c4e4} ùì ä÷åãéí äáàéí\n\r\n\r1. ëñó\n\r2. ðù÷ øðãåîìé\n\r3. ÷ôéöåú øëá\n\r4. îäéøåú øëá\n\r5. â'àè ôà÷\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
- case 1: ShowPlayerDialog(playerid, CodesDialog2, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà øùåí àú {ffffff}äîñôø{a9c4e4} ùì ä÷åãéí äáàéí\n\r\n\r1. ëñó\n\r2. ðù÷ øðãåîìé\n\r3. ÷ôéöåú øëá\n\r4. îäéøåú øëá\n\r5. â'àè ôà÷\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
- }
- }
- case CodesDialog:
- {
- if(!response) return true;
- new code[15], string[128];
- search:
- for(new i; i < 6; i++)
- {
- code[i] = letters[rand(0, sizeof(letters) - 1)];
- }
- if(DOF2_IsSet(CodesFile, code)) goto search;
- DOF2_SetInt(CodesFile, code, strval(inputtext));
- DOF2_SaveFile();
- format(string, 128, ".%s :ä÷åã äéðå\n\r.(ñåâ ÷åã æä äåà: %s(%d", code, IsCodeType(strval(inputtext)), strval(inputtext));
- ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ä÷åã ðåöø áäöìçä", string, "ñâåø", "");
- format(string, 128, ".%s :÷åã çãù ðåöø áùøú, ä÷åã äéðå", code);
- SendClientMessageToAll(0xFFFFFF00, string);
- }
- case CodesDialog2:
- {
- if(!response) return true;
- CInfo[playerid] = strval(inputtext);
- ShowPlayerDialog(playerid, CodesDialog3, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà ä÷ìã àú ä÷åã", "öåø", "áèì");
- }
- case CodesDialog3:
- {
- if(!response) return true;
- if(strlen(inputtext) > 5) return ShowPlayerDialog(playerid, CodesDialog3, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà ä÷ìã àú ä÷åã òã 5 úååéí", "öåø", "áèì");
- new string[128];
- DOF2_SetInt(CodesFile, inputtext, CInfo[playerid]);
- DOF2_SaveFile();
- format(string, 128, ".%s :ä÷åã äéðå\n\r.(ñåâ ÷åã æä äåà: %s(%d", inputtext, IsCodeType(CInfo[playerid]), CInfo[playerid]);
- ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ä÷åã ðåöø áäöìçä", string, "ñâåø", "");
- format(string, 128, ".%s :÷åã çãù ðåöø áùøú, ä÷åã äéðå", inputtext);
- SendClientMessageToAll(0xFFFFFF00, string);
- }
- }
- return true;
- }
- stock IsCodeType(type)
- {
- new codename[30];
- switch(type)
- {
- case 1: codename = "ëñó";
- case 2: codename = "ðù÷ øðãåîìé";
- case 3: codename = "÷ôéöåú øëá";
- case 4: codename = "îäéøåú øëá";
- case 5: codename = "â'à÷ ôà÷";
- }
- return codename;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' ')) index++;
- new offset = index, result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- rand(min, max) return random(max - min) + min;
Advertisement
Add Comment
Please, Sign In to add comment