Sistema de Duelo -
s4kuL - 13.12.2012
pawn Код:
CMD:duel(playerid,params[])
{
new
string[150],
Float:vida[MAX_PLAYERS]
;
GetPlayerHealth(playerid,vida[playerid]);
if(NoDuelo[playerid] == true) return SendClientMessage(playerid,red,"ERROR: You are in duel");
if(DueloSendoUsado == 1) return SendClientMessage(playerid,red,"ERROR: One duel already happening");
if(duelid == 0 || 11) return SendClientMessage(playerid,red,"ERROR: Duel styles is of 1 on 10!");
if(sscanf(params,"d",duelid)) return SendClientMessage(playerid,red,"USAGE: /duel [duel id]");
if(vida[playerid] <= 100)
{
format(string,sizeof(string),"[DUEL]: %s teleported to the duel %d ( /duel )",Nome(playerid),duelid);
SendClientMessageToAll(ciano,string);
}
else
{
SendClientMessage(playerid,red,"ERROR: Need of full health");
}
if(jogadoresnoduel == 2)
{
DueloSendoUsado = 1;
}
else
{
//DUEL STYLE 1
if(duelid == 1)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,34,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 2)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 3)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,27,9999);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 4)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,31,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 5)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,26,9999);
GivePlayerWeapon(playerid,32,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 6)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,16,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 7)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,26,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 8)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 9)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,18,9999);
NoDuelo[playerid] = true;
}
else if{
if(duelid == 10)
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,4,1);
NoDuelo[playerid] = true;
}
}
}
}
}
}
}
}
}
}
}
//[Style 01]: Sniper+Shotgun
//[Style 02]: Shotgun+Deagle
//[Style 03]: Spas12+Deagle
//[Style 04]: M4+Shotgun
//[Style 05]: Sawn+Tec9
//[Style 06]: Granade
//[Style 07]: SwanOff
//[Style 08]: Deagle
//[Style 09]: Motovs
//[Style 10]: Knife
return 1;
}
Queria que desse para entrar so 2 jogadores em cada duelo ou se nao alguem me falar como faz isso em dialog tipo, eu mando duelo pro cara dai aparece pra ele aceitar ou recusar se ele aceitar, o que aceitou recebe um menu com os estilos de armas de duelo dai comeзa. dai desse jeito queria que desse pra duelo so de 2 e 2..
valeu ai e obrigado pela atenзгo.
Re: Sistema de Duelo -
ViniBorn - 13.12.2012
Vocк teria que criar um desse (jogadoresnoduel) para cada duelid
Ex:
Re: Sistema de Duelo -
s4kuL - 14.12.2012
entгo ficaria tipo assim:
pawn Код:
CMD:duel(playerid,params[])
{
new
string[150],
Float:vida[MAX_PLAYERS]
;
GetPlayerHealth(playerid,vida[playerid]);
if(NoDuelo[playerid] == true) return SendClientMessage(playerid,red,"ERROR: You are in duel");
if(DueloSendoUsado == 1) return SendClientMessage(playerid,red,"ERROR: One duel already happening");
if(duelid == 0 || 11) return SendClientMessage(playerid,red,"ERROR: Duel styles is of 1 on 10!");
if(sscanf(params,"d",duelid)) return SendClientMessage(playerid,red,"USAGE: /duel [duel id]");
if(vida[playerid] <= 100)
{
format(string,sizeof(string),"[DUEL]: %s teleported to the duel %d ( /duel )",Nome(playerid),duelid);
SendClientMessageToAll(ciano,string);
}
else
{
SendClientMessage(playerid,red,"ERROR: Need of full health");
}
if(jogadoresnoduel[duelid] == 2)
{
DueloSendoUsado = 1;
}
else
{
//DUEL STYLE 1
if(duelid == 1)
{
jogadoresnoduel[0] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,34,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 2)
{
jogadoresnoduel[1] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 3)
{
jogadoresnoduel[2] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,27,9999);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 4)
{
jogadoresnoduel[3] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,31,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 5)
{
jogadoresnoduel[4] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,26,9999);
GivePlayerWeapon(playerid,32,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 6)
{
jogadoresnoduel[5] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,16,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 7)
{
jogadoresnoduel[6] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,26,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 8)
{
jogadoresnoduel[7] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 9)
{
jogadoresnoduel[8] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,18,9999);
NoDuelo[playerid] = true;
}
else{
if(duelid == 10)
{
jogadoresnoduel[9] ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,4,1);
NoDuelo[playerid] = true;
}
}
}
}
}
}
}
}
}
}
}
//[Style 01]: Sniper+Shotgun
//[Style 02]: Shotgun+Deagle
//[Style 03]: Spas12+Deagle
//[Style 04]: M4+Shotgun
//[Style 05]: Sawn+Tec9
//[Style 06]: Granade
//[Style 07]: SwanOff
//[Style 08]: Deagle
//[Style 09]: Motovs
//[Style 10]: Knife
return 1;
}
?
Re: Sistema de Duelo -
s4kuL - 14.12.2012
Ficaria assim ou nгo?
Re: Sistema de Duelo -
s4kuL - 14.12.2012
alguйm ae?
Re: Sistema de Duelo -
JonathanFeitosa - 14.12.2012
eu tenho um sistema desses
eu quero posta ele...
sу que й de corrida, eles apostam um valor, aparece o dialog, se ele aceitar, tem 20seg pra montar o carro, depois de montar da a largada e vгo pra corrida, depois da corrida comeзa a tocar a musica do Veloses e Furiosos, o melhor vence e ganha a granha
deu muito trabalho, й em sscanf e zcmd
Re: Sistema de Duelo -
s4kuL - 14.12.2012
Entгo vocк deve entender como quero no JFS, tenta me ajudar ai entгo, fazer que os 2 players (que mando e que aceitou) vгo para a posiзгo:
pawn Код:
CMD:duel(playerid,params[])
{
new
string[150],
pDuel,
Float:vida[MAX_PLAYERS]
;
GetPlayerHealth(playerid,vida[playerid]);
if(!IsPlayerConnected(pDuel)) return SendClientMessage(playerid,red,"Player not conneted.");
if(sscanf(params,"d",pDuel)) return SendClientMessage(playerid,red,"USAGE: /duel [duel id]");
//if(GetPlayerTeam(pDuel) == GetPlayerTeam(playerid)) return SendClientMessage(playerid,red,"ERROR: Player is of your team");
if(NoDuelo[playerid] == true) return SendClientMessage(playerid,red,"ERROR: You are in duel");
if(NoDuelo[pDuel] == true) return SendClientMessage(playerid,red,"ERROR: This player are in duel");
if(DueloSendoUsado == 1) return SendClientMessage(playerid,red,"ERROR: One duel already happening");
//if(duelid == 0 || 11) return SendClientMessage(playerid,red,"ERROR: Duel styles is of 1 on 10!");
if(vida[playerid] <= 100 || vida[pDuel] <= 100)
{
format(string,sizeof(string),"%s invited you to a duel. want to accept?",Nome(playerid));
ShowPlayerDialog(pDuel,DIALOG_DUELOENVIADO,DIALOG_STYLE_MSGBOX,"Duel",string,"Yes","No");
}
else
{
SendClientMessage(playerid,red,"ERROR: Need of full health");
}
if(jogadoresnoduel==2){DueloSendoUsado = 1;}
return 1;
}
if(dialogid == DIALOG_DUELOENVIADO)
{
if(response)
{
new strarmas[250];
format(strarmas,sizeof(strarmas),"Sniper+Shotgun\nShotgun+Deagle\nSpas12+Deagle\nM4+Shotgun\nSawn+Tec9\nGranade\nSwanOff\nDeagle\nMotovs\nKnife");
ShowPlayerDialog(playerid,DIALOG_ARMASDUELO,DIALOG_STYLE_LIST,"Weapons",strarmas,"Select","Cancel");
}
if(!response)
{
SendClientMessage(playerid,red,"Duel cancelled");
}
}
if(dialogid == DIALOG_ARMASDUELO)
{
if(response)
{
switch(listitem)
{
case 0:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,34,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
case 1:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
NoDuelo[playerid] = true;
}
case 2:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,27,9999);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
case 3:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,31,9999);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
case 4:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,26,9999);
GivePlayerWeapon(playerid,32,9999);
NoDuelo[playerid] = true;
}
case 5:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,18,9999);
NoDuelo[playerid] = true;
}
case 6:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,26,9999);
NoDuelo[playerid] = true;
}
case 7:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,24,9999);
NoDuelo[playerid] = true;
}
case 8:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,16,9999);
NoDuelo[playerid] = true;
}
case 9:
{
jogadoresnoduel ++;
SetPlayerPos(playerid,0.0,1.1,2.2);
SetPlayerVirtualWorld(playerid,254862318);
SetPlayerInterior(playerid,0);
SetPlayerArmour(playerid,100.0);
SetPlayerHealth(playerid,100.0);
GivePlayerWeapon(playerid,4,9999);
NoDuelo[playerid] = true;
}
}
}
}
Re: Sistema de Duelo -
s4kuL - 15.12.2012
plis help
Re: Sistema de Duelo -
Gleisson_. - 16.12.2012
PHP код:
dcmd_duel(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 3) {
new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) {
SendClientMessage(playerid, red, "USO: /duel [player1 id] [player2 id] [localizaзгo] (Localizaзхes: 1, 2, 3]");
return SendClientMessage(playerid, red, "Se vocк nгo especificar uma localizaзгo o duelo ocorrerб no lugar atual");
}
new player1 = strval(tmp), player2 = strval(tmp2), location, string[128];
if(!strlen(tmp3)) location = 0; else location = strval(tmp3);
if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Vocк nгo pode usar este comando neste admin");
if(PlayerInfo[player2][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Vocк nгo pode usar este comando neste admin");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"ERRO: Jogador1 jб estб em um duelo");
if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"ERRO: Jogador2 jб estб em um duelo");
if(location == 1) {
SetPlayerInterior(player1,16); SetPlayerPos(player1,-1404.067, 1270.3706, 1042.8672);
SetPlayerInterior(player2,16); SetPlayerPos(player2,-1395.067, 1261.3706, 1042.8672);
} else if(location == 2) {
SetPlayerInterior(player1,0); SetPlayerPos(player1,1353.407,2188.155,11.02344);
SetPlayerInterior(player2,0); SetPlayerPos(player2,1346.255,2142.843,11.01563);
} else if(location == 3) {
SetPlayerInterior(player1,10); SetPlayerPos(player1,-1041.037,1078.729,1347.678); SetPlayerFacingAngle(player1,135);
SetPlayerInterior(player2,10); SetPlayerPos(player2,-1018.061,1052.502,1346.327); SetPlayerFacingAngle(player2,45);
}
InDuel[player1] = 1;
InDuel[player2] = 1;
CMDMessageToAdmins(playerid,"DUEL");
cdt[player1] = 6;
SetTimerEx("Duel",1000,0,"dd", player1, player2);
format(string, sizeof(string), "Administrador \"%s\" deu inнcio a um duelo entre \"%s\" e \"%s\" ", pName(playerid), pName(player1), pName(player2) );
SendClientMessage(player1, blue, string); SendClientMessage(player2, blue, string);
return SendClientMessage(playerid, blue, string);
} else return SendClientMessage(playerid, red, "Jogador2 nгo conectado");
} else return SendClientMessage(playerid, red, "Jogador1 nгo conectado");
} else return SendClientMessage(playerid,red,"ERRO: Vocк nгo tem nнvel alto suficiente para usar este comando");
}
Da uma olhada nesse comando talvez ele te ajude.
Crйditos: LethaL Adminscript
Re: Sistema de Duelo -
s4kuL - 16.12.2012
adiantou nada ja tinha visto..