#include <a_samp>#include <sscanf2>#include <dutils>#include <fixchars>#include <zcmd>#pragma unused ret_memcpynew boxengedely[MAX_PLAYERS];new boxos[MAX_PLAYERS];new boxol[MAX_PLAYERS];new stilus[MAX_PLAYERS];new tars[MAX_PLAYERS];CMD:duel(playerid, params[]){new gid;if(sscanf(params, \"u\", gid)) return SendClientMessage(playerid, -1, \"Használat: /duel [Játékos]\");if(gid == INVALID_PLAYER_ID || IsPlayerNPC(gid)) return SendClientMessage(playerid, -1, \"Hibás játékos!\");if(gid == playerid) return SendClientMessage(playerid, -1, \"Magadat nem hívhatod ki párbajozni!\");if(boxol[playerid] == 1) return SendClientMessage(playerid, -1, \"Te most boxolsz!\");if(boxol[gid] == 1) return SendClientMessage(playerid, -1, \"A játékos most boxol!\");boxengedely[gid] = 1;boxos[gid] = playerid;tars[playerid] = gid;ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, \"Milyen harcmódot akarsz választani?\", \"Normális\\nBox\\nKung-fu\\nKneehead\\nGrabkick\\nElbow\", \"OK\", \"Mégse\");return 1;}CMD:accept(playerid, params[]){new name[MAX_PLAYER_NAME], gname[MAX_PLAYER_NAME];GetPlayerName(playerid, name, sizeof(name));GetPlayerName(boxos[playerid], gname, sizeof(gname));if(boxengedely[playerid] == 0) return SendClientMessage(playerid, -1, \"Téged még senki sem hívott boxolni! Ha valakivel párbajozni akarsz, írd be: /duel\");if(boxol[playerid] == 1) return SendClientMessage(playerid, -1, \"Te most boxolsz!\");SetPlayerInterior(playerid, 5);SetPlayerPos(playerid,758.5104,8.9748,1001.1639);SetPlayerInterior(boxos[playerid], 5);SetPlayerPos(boxos[playerid], 763.0402,13.4526,1001.1639);SetPlayerVirtualWorld(playerid, 1);SetPlayerVirtualWorld(boxos[playerid], 1);boxol[playerid] = 1;boxol[boxos[playerid]] = 1;boxengedely[playerid] = 0;SetPlayerFightingStyle(playerid, stilus[boxos[playerid]]);SetPlayerFightingStyle(boxos[playerid], stilus[boxos[playerid]]);new str[128];format(str, sizeof(str), \"A harc %s és %s között elkezdõdött!\", name, gname);SendClientMessageToAll(-1, str);ResetPlayerWeapons(playerid);ResetPlayerWeapons(boxos[playerid]);return 1;}public OnFilterScriptInit(){print(\"\\n--------------------------------------\");print(\" rBox FilterScript by Rupert\");print(\"--------------------------------------\\n\");return 1;}public OnFilterScriptExit(){print(\"Box FS bezarva.\");return 1;}public OnPlayerConnect(playerid){boxengedely[playerid] = 0;boxos[playerid] = -1;boxol[playerid] = 0;stilus[playerid] = 4;tars[playerid] = -1;return 1;}public OnPlayerDisconnect(playerid, reason){if(boxol[playerid] == 1){ new str2[128]; new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); SetPlayerFightingStyle(boxos[playerid], 4);SpawnPlayer(boxos[playerid]);SetPlayerVirtualWorld(boxos[playerid], 0);format(str2, sizeof(str2), \"Nyertél a párbajban %s ellen, mivel az megfumadott!\", name);new sc;sc = GetPlayerScore(boxos[playerid]);SetPlayerScore(boxos[playerid], sc+1);GivePlayerMoney(boxos[playerid], 5000);SendClientMessage(boxos[playerid], -1, str2);boxol[playerid] = 0;boxol[boxos[playerid]] = 0;boxengedely[playerid] = 0;boxengedely[boxos[playerid]] = 0;boxos[playerid] = -1;boxos[boxos[playerid]] = -1;stilus[playerid] = 4;stilus[boxos[playerid]] = 4;tars[playerid] = -1;tars[boxos[playerid]] = -1; }return 1;}public OnPlayerDeath(playerid, killerid, reason){if(boxol[playerid] == 1){new name[MAX_PLAYER_NAME], gname[MAX_PLAYER_NAME];GetPlayerName(playerid, name, sizeof(name));GetPlayerName(killerid, gname, sizeof(gname));new str[128], str2[128];format(str, sizeof(str), \"Vesztettél a párbajban %s ellen!\", gname);format(str2, sizeof(str2), \"Nyertél a párbajban %s ellen, és kaptál 1 pontot + 5.000$-t!\", name);SendClientMessage(playerid, -1, str);SendClientMessage(killerid, -1, str2);SetPlayerVirtualWorld(killerid, 0);SetPlayerVirtualWorld(playerid, 0);boxol[playerid] = 0;boxol[killerid] = 0;boxengedely[playerid] = 0;boxengedely[killerid] = 0;boxos[playerid] = -1;boxos[killerid] = -1;stilus[playerid] = 4;stilus[killerid] = 4;tars[playerid] = -1;tars[killerid] = -1;SetPlayerFightingStyle(killerid, 4);SetPlayerFightingStyle(playerid, 4);SetPlayerHealth(killerid, 100);new sc = GetPlayerScore(killerid);SetPlayerScore(playerid, sc+1);GivePlayerMoney(killerid, 5000);SpawnPlayer(killerid);}return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){if(dialogid == 0){ if(!response) return 0; else { if(listitem == 0) { new str[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); stilus[playerid] = 4; format(str, sizeof(str), \"Meghívott Téged %s párbajozni normál harcstílussal! Elfogadáshoz: /accept\", name); SendClientMessage(playerid, -1, \"Meghívtad a játékost normál harcstílussal párbajozni!\"); SendClientMessage(tars[playerid], -1, str); } if(listitem == 1) { new str[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); stilus[playerid] = 5; format(str, sizeof(str), \"Meghívott Téged %s párbajozni box harcstílussal!\", name); SendClientMessage(playerid, -1, \"Meghívtad a játékost box harcstílussal párbajozni!\"); SendClientMessage(tars[playerid], -1, str); } if(listitem == 2) { new str[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); stilus[playerid] = 6; format(str, sizeof(str), \"Meghívott Téged %s párbajozni kungfu harcstílussal!\", name); SendClientMessage(playerid, -1, \"Meghívtad a játékost kungfu harcstílussal párbajozni!\"); SendClientMessage(tars[playerid], -1, str); } if(listitem == 3) { new str[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); stilus[playerid] = 7; format(str, sizeof(str), \"Meghívott Téged %s párbajozni kneehead harcstílussal!\", name); SendClientMessage(playerid, -1, \"Meghívtad a játékost kneehead harcstílussal párbajozni!\"); SendClientMessage(tars[playerid], -1, str); } if(listitem == 4) { new str[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); stilus[playerid] = 15; format(str, sizeof(str), \"Meghívott Téged %s párbajozni grabkick harcstílussal!\", name); SendClientMessage(playerid, -1, \"Meghívtad a játékost grabkick harcstílussal párbajozni!\"); SendClientMessage(tars[playerid], -1, str); } if(listitem == 5) { new str[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); stilus[playerid] = 16; format(str, sizeof(str), \"Meghívott Téged %s párbajozni elbow harcstílussal!\", name); SendClientMessage(playerid, -1, \"Meghívtad a játékost elbow harcstílussal párbajozni!\"); SendClientMessage(tars[playerid], -1, str); } }}return 1;}public OnPlayerUpdate(playerid){if(boxol[playerid] == 1){Vissz*rak(playerid, boxos[playerid]);}return 1;}stock Vissz*rak(p1, p2){new Float:x, Float:y, Float:z;GetPlayerPos(p1, x, y, z);if(!IsPlayerInRangeOfPoint(p2, 5.0, x, y, z)){ SetPlayerInterior(p1, 5);SetPlayerPos(p1,758.5104,8.9748,1001.1639);SetPlayerInterior(p2, 5);SetPlayerPos(p2, 763.0402,13.4526,1001.1639);SendClientMessage(p1, -1, \"Maradjatok a helyeteken!\");SendClientMessage(p2, -1, \"Maradjatok a helyeteken!\");}}
egész jól néz kiazt is beletehetnéd hogyha valamelyik megnyeri a párbajt az kap 500$-árt mint ami a filmekben van. Tét..
format(str2, sizeof(str2), \"Nyertél a párbajban %s ellen, és kaptál 1 pontot + 5.000$-t!\", name);
Ja jólett majd megnézem hogy jó e!
public OnPlayerUpdate(playerid){if(boxol[playerid] == 1){ Visszarak(playerid, boxos[playerid]);}return 1;}stock Vissz*rak(p1, p2){new Float:x, Float:y, Float:z;GetPlayerPos(p1, x, y, z);if(!IsPlayerInRangeOfPoint(p2, 5.0, x, y, z)){ SetPlayerInterior(p1, 5); SetPlayerPos(p1,758.5104,8.9748,1001.1639); SetPlayerInterior(p2, 5); SetPlayerPos(p2, 763.0402,13.4526,1001.1639); SendClientMessage(p1, -1, \"Maradjatok a helyeteken!\"); SendClientMessage(p2, -1, \"Maradjatok a helyeteken!\");}} [/quote]
Az ötlet jó! Szép munka Viszont, ha valaki leszedi akkor ezekre figyeljen mert hibát fog írni a csillagra: public OnPlayerUpdate(playerid){if(boxol[playerid] == 1){ Vissz*rak(playerid, boxos[playerid]);}return 1;}stock Vissz*rak(p1, p2){new Float:x, Float:y, Float:z;GetPlayerPos(p1, x, y, z);if(!IsPlayerInRangeOfPoint(p2, 5.0, x, y, z)){ SetPlayerInterior(p1, 5); SetPlayerPos(p1,758.5104,8.9748,1001.1639); SetPlayerInterior(p2, 5); SetPlayerPos(p2, 763.0402,13.4526,1001.1639); SendClientMessage(p1, -1, \"Maradjatok a helyeteken!\"); SendClientMessage(p2, -1, \"Maradjatok a helyeteken!\");}} [/quote]Kivéve ha normálisan letölti, és nem kimásolja a kódot.
public OnPlayerUpdate(playerid){if(boxol[playerid] == 1){ Vissz*rak(playerid, boxos[playerid]);}return 1;}stock Vissz*rak(p1, p2){new Float:x, Float:y, Float:z;GetPlayerPos(p1, x, y, z);if(!IsPlayerInRangeOfPoint(p2, 5.0, x, y, z)){ SetPlayerInterior(p1, 5); SetPlayerPos(p1,758.5104,8.9748,1001.1639); SetPlayerInterior(p2, 5); SetPlayerPos(p2, 763.0402,13.4526,1001.1639); SendClientMessage(p1, -1, \"Maradjatok a helyeteken!\"); SendClientMessage(p2, -1, \"Maradjatok a helyeteken!\");}}
Az ötlet jó! Szép munka Viszont, ha valaki leszedi akkor ezekre figyeljen mert hibát fog írni a csillagra: public OnPlayerUpdate(playerid){if(boxol[playerid] == 1){ Vissz*rak(playerid, boxos[playerid]);}return 1;}stock Vissz*rak(p1, p2){new Float:x, Float:y, Float:z;GetPlayerPos(p1, x, y, z);if(!IsPlayerInRangeOfPoint(p2, 5.0, x, y, z)){ SetPlayerInterior(p1, 5); SetPlayerPos(p1,758.5104,8.9748,1001.1639); SetPlayerInterior(p2, 5); SetPlayerPos(p2, 763.0402,13.4526,1001.1639); SendClientMessage(p1, -1, \"Maradjatok a helyeteken!\"); SendClientMessage(p2, -1, \"Maradjatok a helyeteken!\");}} [/quote]Kivéve ha normálisan letölti, és nem kimásolja a kódot. [/quote]Na igen, ez igaz