01.03.2011, 23:12
hi i have a question i want when i accept the duel an i die in the duel the duell restart everytime , only i tipe /stopduel i want respawn @ my old spanw here the codes what musst i do
Код:
public OnPlayerDeath(playerid, killerid, reason) { if(InDual[playerid] == 1) { new string[256]; new killername[MAX_PLAYER_NAME]; new playername[MAX_PLAYER_NAME]; GetPlayerName(killerid, killername, sizeof(killername)); GetPlayerName(playerid, playername, sizeof(playername)); if(DualRoom1 == playerid || DualRoom1 == killerid) { Inventation[playerid] = -1; InventationSent[playerid] = -1; Inventation[killerid] = -1; InventationSent[killerid] = -1; InDual[playerid] = 0; InDual[killerid] = 0; format(string, sizeof(string), "%s defeated %s in a duel and wins $%d", killername, playername, DualRoom1price); SendClientMessageToAll(GREEN, string); GivePlayerMoney(killerid, (DualRoom1price*2)); SpawnPlayer(killerid); SendDeathMessage(killerid, playerid, reason); DualRoom1 = -1; return 1; }
Код:
dcmd_duel(playerid, params[]) { new giveplayerid, weapon[128], price; new string[256]; new sendername[MAX_PLAYER_NAME]; new giveplayername[MAX_PLAYER_NAME]; if (sscanf(params, "isi", giveplayerid,weapon,price)) { SendClientMessage(playerid, COLOR_YELLOW, "[VT ERROR] Right Usage: /dual [playerid] [weapon] [amount]"); SendClientMessage(playerid, COLOR_YELLOW, "Duel weapons: deagle, mp5, chainsaw, silpist, combatsg, shotgun"); return 1; } else { if(playerid != giveplayerid) { GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername)); if(strcmp("deagle", weapon, true, 6) == 0) { if(GetPlayerMoney(playerid) >= price) { if(Inventation[giveplayerid] == -1) { if(InventationSent[playerid] == -1) { if(InDual[playerid] == 0) { if(InDual[giveplayerid] == 0) { if(DualRoom1 == -1) { SetTimerEx("inventationremove", 30000, 0, "i", playerid); format(string, sizeof(string), "%s has sent you a 1 vs. 1 duel with a desert eagle for $%d, /acceptduel or /declineduel", sendername, price); SendClientMessage(giveplayerid, GREEN, string); format(string, sizeof(string), "you sent %s a 1 vs. 1 duel with a desert eagle for $%d", giveplayername, price); SendClientMessage(playerid, GREEN, string); InventationSent[playerid] = giveplayerid; Inventation[giveplayerid] = playerid; Inventationprice[giveplayerid] = price; DualRoom1price = price; DualRoom1 = playerid; WeaponDualRoom1 = 24; return 1; }
Код:
dcmd_acceptduel(playerid, params[]) { #pragma unused params if(Inventation[playerid] >= 0) { if(GetPlayerMoney(playerid) >= Inventationprice[playerid]) { if(DualRoom1 == Inventation[playerid]) { SetPlayerTeam(playerid, 1); SetPlayerTeam(Inventation[playerid], 2); InDual[Inventation[playerid]] = 1; InDual[playerid] = 1; ResetPlayerWeapons(playerid); ResetPlayerWeapons(Inventation[playerid]); GivePlayerWeapon(playerid, WeaponDualRoom1, 500); GivePlayerWeapon(Inventation[playerid], WeaponDualRoom1, 500); SetPlayerPos(playerid, 1715.5034,-2865.0405,6.5554); SetPlayerFacingAngle(playerid,317.1064); SetPlayerPos(Inventation[playerid], 1723.2203,-2856.0315,6.5554); SetPlayerFacingAngle(Inventation[playerid],140.0715); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); SetPlayerHealth(Inventation[playerid], 100); SetPlayerArmour(Inventation[playerid], 100); GivePlayerMoney(playerid, -DualRoom1price); GivePlayerMoney(Inventation[playerid], -DualRoom1price); SendClientMessage(playerid, GREEN, "LET THE BATTLE BEGIN!"); SendClientMessage(Inventation[playerid], GREEN, "LET THE BATTLE BEGIN!"); TogglePlayerControllable(playerid, 0); TogglePlayerControllable(Inventation[playerid], 0); CountDown(playerid, 3); CountDown(Inventation[playerid], 3); }