GTA-Expert Forum: [ARG] Funzioni e Comandi Utili - GTA-Expert Forum

Salta al contenuto

  • (18 Pagine)
  • +
  • 1
  • 2
  • 3
  • 4
  • Ultimo »
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[ARG] Funzioni e Comandi Utili

#21 L'utente è offline   Wesker 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1723
  • Iscritto il: 04/01/07

Inviato il 04 luglio 2007 - 21:58

Spawn dal punto di death:

In testa alla GM:
#define COLOR_RED 0xAA3333AA
new indeath[MAX_PLAYERS];
new indeathlock;
new Float:xdeath;
new Float:ydeath;
new Float:zdeath;


Sotto OnGameModeInit:
indeathlock = 0;


Sotto OnPlayerConnect:
indeath[playerid] = 0;


Sotto OnPlayerSpawn:
if(indeath[playerid] == 1) {
SetPlayerPos(xdeath,ydeath,zdeath);
}


Sotto OnPlayerDeath:
GetPlayerPos(playerid, xdeath, ydeath, zdeath);


Sotto OnPlayerCommandText:
if(strcmp(cmd,"/indeath", true)==0) {
 if(indeath[playerid] == 0 && indeathlock = 0) {
 SendClientMessage(playerid,0xFF8A00AA,"Hai attivato lo spawn dal punto di death.");
 indeath[playerid] = 1;
 }
 else if(indeath[playerid] == 1 && indeathlock = 0) {
 SendClientMessage(playerid,0xFF8A00AA,"Hai disattivato lo spawn dal punto di death.");
 indeath[playerid] = 0;
 }
 if(indeathlock == 1) {
 SendClientMessage(playerid,COLOR_RED,"Il comando /indeath è stato disattivato.");
return 1;
}

if(strcmp(cmd, "/indeathlock", true)==0) {
 new pname[MAX_PLAYER_NAME];
 GetPlayerName(playerid,pname, sizeof(pname));
 if(IsPlayerAdmin(playerid) == 1) {
 if(indeathlock == 0) {
 indeathlock = 1;
 format(string, sizeof(string), "L'admin %s ha disattivato il comando /indeath.", pname);
 SendClientMessageToAll(0xFF8A00AA,string);
} else {
indeathlock = 0;
format(string, sizeof(string), "L'admin %s ha attivato il comando /indeath.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"Devi essere un admin!");
}
return 1;
}


;)
Firma cancellata perchè fuori norma, leggi il regolamento. Il codice precedente è stato inviato per Messaggio Privato.
0

#22 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 04 luglio 2007 - 22:51

Credo manchi qualcosa Chiarboss... :m: l'OnPlayerSpawn non l'hai messo...
"Audentes Fortuna iuvat"
0

#23 L'utente è offline   MdMA 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 4838
  • Iscritto il: 07/05/07
  • Provenienza:Riccione (RN)

Inviato il 05 luglio 2007 - 07:57

grazie x il consiglio chiarboss xkè a me med nn funziona :D
0

#24 L'utente è offline   Wesker 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1723
  • Iscritto il: 04/01/07

Inviato il 05 luglio 2007 - 11:13

Quote

Originally posted by Skiaffo@05/07/07 - 00:51
Credo manchi qualcosa Chiarboss... :m: l'OnPlayerSpawn non l'hai messo...

Grazie Skia, con tanti eventi, me l'ero totalmente dimenticato xDD.
Firma cancellata perchè fuori norma, leggi il regolamento. Il codice precedente è stato inviato per Messaggio Privato.
0

#25 L'utente è offline   Supdario 

  • GTA-Expert Webmaster
  • Gruppo: Admin
  • Messaggi: 8635
  • Iscritto il: 08/12/05
  • GTA Preferito:GTA: San Andreas

Inviato il 05 luglio 2007 - 12:26

Chiarboss il tuo script non può funzionare... L'hai testato almeno? xdeath ydeath e zdeath sono definiti dentro a onplayerdeath, e poi fai getplayerpos... Ma una volta finito onplayerdeath quelle variabili non esistono più... Non può andare. :S
0

#26 L'utente è offline   Wesker 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1723
  • Iscritto il: 04/01/07

Inviato il 05 luglio 2007 - 12:31

Quote

Originally posted by Supdario@05/07/07 - 14:26
Chiarboss il tuo script non può funzionare... L'hai testato almeno? xdeath ydeath e zdeath sono definiti dentro a onplayerdeath, e poi fai getplayerpos... Ma una volta finito onplayerdeath quelle variabili non esistono più... Non può andare. :S

Grazie Sup, le variabili devono stare in testa alla GM, ora correggo, il problema è che l'avevo copiato dal mio ultimo script, e mi ero dimenticato di copiare le variabili che si trovavano in testa alla GM. :_
Firma cancellata perchè fuori norma, leggi il regolamento. Il codice precedente è stato inviato per Messaggio Privato.
0

#27 L'utente è offline   Wesker 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1723
  • Iscritto il: 04/01/07

Inviato il 13 luglio 2007 - 22:00

Stop-On-Crash:

In testa alla GM:

#pragma tabsize 0

#define NICE_BLUE 0xa0d3ffAA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA

new pid;
new soc;
new Float:xout;
new Float:yout;
new Float:zout;
new Float:zangleout;
new confirmsoc;
new SocTimer;
new SocTimerDefault;
new timer;
new disconnected[MAX_PLAYERS];
new stringforout[256];
new Pname[MAX_PLAYER_NAME];

forward StopOnCrash();


Sotto OnGameModeInit:

timer = 0;
soc = 0;


Sotto OnPlayerConnect:

if(soc == 1 && disconnected[playerid] == 1) {
GetPlayerName(playerid,Pname,sizeof(Pname));
format(stringforout,sizeof(stringforout),"%d è stato salvato dal sistema di Stop-On-Crash.");
SendClientMessageToAll(NICE_BLUE,stringforout);
}


Sotto OnPlayerDisconnect:

new string[256];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(soc == 1) {
switch(reason) {
case 0: {
format(string, sizeof(string), "%s è fuori dal server (TimeOut)", name);
SendClientMessageToAll(COLOR_GREY,string);
}
case 1: {
format(string, sizeof(string), "%s è fuori dal server (Leaving)", name);
SendClientMessageToAll(COLOR_GREY,string);
}
case 2: {
format(string, sizeof(string), "%s è fuori dal server (Kicked)", name);
SendClientMessageToAll(COLOR_GREY,string);
}
}
}
if(reason == 0 && soc == 1)
{
disconnected[playerid] = 1;
GetPlayerName(playerid,Pname,sizeof(Pname));
format(stringforout,sizeof(stringforout),"%s è fuori dal server (TimeOut)");
SendClientMessageToAll(COLOR_RED,stringforout);
GetPlayerPos(playerid,xout,yout,zout);
GetPlayerFacingAngle(playerid,zangleout);
if(timer == 0) {
SocTimerDefault = SetTimer("StopOnCrash",120000,0);
} else {
SocTimer = SetTimer("StopOnCrash",pid*60000,0);
}
 for(new i=0;i<MAX_PLAYERS;i++)
 {
 if(IsPlayerConnected(i)) { TogglePlayerControllable(i,0); 
 }
}
}


Sotto OnPlayerSpawn:

if(soc == 1 && disconnected[playerid] == 1) {
SetPlayerPos(playerid,xout,yout,zout);
SetPlayerFacingAngle(playerid,zangleout);
KillTimer(SocTimer);
KillTimer(SocTimerDefault);
confirmsoc = 1;
for(new i=0;i<MAX_PLAYERS;i++)
 {
 TogglePlayerControllable(i,1);
}
disconnected[playerid] = 0;
}


Sotto OnPlayerCommandText:

	if(strcmp(cmd,"/soc",true)==0) {
	if(IsPlayerAdmin(playerid)==1) {
	new string[256];
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,sizeof(name));
	if(soc == 0) {
	format(string,sizeof(string),"L'admin %s ha attivato il sistema di Stop-on-Crash.",name);
	SendClientMessageToAll(NICE_BLUE,string);
	soc = 1;
	} else {
	format(string,sizeof(string),"L'admin %s ha disattivato il sistema di Stop-on-Crash.",name);
	SendClientMessageToAll(NICE_BLUE,string);
	soc = 0;
	}
	} else {
	SendClientMessage(playerid,COLOR_RED,"Devi essere un admin!!!");
	}
	return 1;
	}
	
	if(strcmp(cmd,"/soctimer",true)==0) {
	if(IsPlayerAdmin(playerid)==1) {
	new string[256];
	new name[MAX_PLAYER_NAME];
	new tmp[256];
	GetPlayerName(playerid,name,sizeof(name));
	tmp = strtok(cmdtext,idx);
  if(!strlen(tmp)) {
  SendClientMessage(playerid,0xFF8A00AA,"Hai settato il timer di default.");
	timer = 0;
  return 1;
  }
  if(strlen(tmp)) {
  timer = 1;
  return 1;
  }
  pid = strval(tmp);
  format(string,sizeof(string),"L'admin %d ha settato il timer della ripresa del gioco a %d minuti",pid);
  SendClientMessageToAll(NICE_BLUE,string);
  } else {
  SendClientMessage(playerid,COLOR_RED,"Devi essere un admin!!!");
	}
	return 1;
	}


Immettete questo nella GM:

confirmsoc = 0;
if(confirmsoc == 0) {
SendClientMessageToAll(COLOR_RED,"I player/players non sono rientrati. Amen.");
KillTimer(SocTimer);
KillTimer(SocTimerDefault);
 for(new i=0;i<MAX_PLAYERS;i++)
 {
 TogglePlayerControllable(i,1);
 }
}
return 1;
}


Ecco qui. Per attivarlo/disattivarlo, basta fare /soc. Per settare il timer nel quale, se un giocatore non si connette entro un tempo limite, si continua a giocare/tutti i players si sfreezano, basta fare /soctimer [timerinsecondi](Il tempo di default è comunque di due minuti).
Lo script non l'ho ancora testato ma al 90% dovrebbe funzionare. Molto utile nelle races o nelle CW. :siso:
Firma cancellata perchè fuori norma, leggi il regolamento. Il codice precedente è stato inviato per Messaggio Privato.
0

#28 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 14 luglio 2007 - 00:22

Non credo che funzioni il respawn lì nelle coordinate...

SetPlayerPos(playerid,xout,yout,zout);

non va bene.. secondo me ti spawna su 0,0,0 però non sono sicuro xD testatelo e vediamo....
"Audentes Fortuna iuvat"
0

#29 L'utente è offline   Blue_Sky 

  • Vandalo
  • Gruppo: Utenti
  • Messaggi: 54
  • Iscritto il: 31/05/07

Inviato il 14 luglio 2007 - 19:33

Per le gare (quello che ci serve a noi 2) comunque dovrebbe spawnare insieme alla macchina no? se no la race la continua a piedi!
0

#30 L'utente è offline   Angeloalogeno 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 5226
  • Iscritto il: 26/02/07
  • ID Social Club:angeloalogeno1
  • Provenienza:Milano
  • GTA Preferito:Sconosciuto

Inviato il 18 agosto 2007 - 20:53

Quote

Originally posted by Chiarboss@19/06/07 - 15:46
Proiettili Esplosivi:

In testa alla GM:

#include <a_samp>
#pragma tabsize 0 //per evitare i warnings delle spaziature errate

new exguns;


Sotto OnPlayerDeath:

new Float:x;
new Float:y;
new Float:z;
if(exguns == 1) {
GetPlayerPos(playerid, x, y, z); CreateExplosion(x, y, z, 10, 40);
}
if(exguns >= 22 && reason >= 22) {
GetPlayerPos(playerid, x, y, z); CreateExplosion(x, y, z, 10, 40);
}


Sotto OnPlayerCommandText:

if(strcmp(cmd,"/exguns",true)==0) {
 if(IsPlayerAdmin(playerid) == 1) {
 exguns = 1;
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername, sizeof(playername));
format(string,sizeof(string),"L'admin %s ha rifornito tutte le armi di Proiettili Esplosivi",playername);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid, 0xFF8A00AA, "Devi essere un admin...");
}
return 1;
}

//Per interrompere il rifornimento di Proiettili Esplosivi:

if(strcmp(cmd,"/noexguns",true)==0) {
 if(IsPlayerAdmin(playerid) == 1) {
 if(exguns == 1) {
 exguns = 0;
 new playername[MAX_PLAYER_NAME];
 GetPlayerName(playerid,playername, sizeof(playername));
format(string,sizeof(string),"L'admin %s ha interrotto il rifornimento di Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid, 0xFF8A00AA, "Devi essere un admin...");
}
} else {
SendClientMessage(playerid, 0xFF8A00AA, "Attualmente non c'è nessun rifornimento di Proiettili Esplosivi in corso.");
}
return 1;
}

//Per selezionare l'arma da rifornire di Proiettili Esplosivi:

if(strcmp(cmd,"/exguns",true) == 0) {
if(IsPlayerAdmin(playerid) == 1) {
new playername[MAX_PLAYER_NAME];
new tmp[256];
new wep;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,0xFF8A00AA,"Utilizzo: /exguns [weaponid]");
return 1;
}
wep = strval(tmp);
GetPlayerName(playerid,playername,sizeof(playername));
if (wep == 22) {
exguns = 22;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Pistola- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 23) {
exguns = 23;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Pistola Silenziata- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 24) {
exguns = 24;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Desert Eagle- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 25) {
exguns = 25;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile a Pompa- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 26) {
exguns = 26;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile a Canne Mozze- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 27) {
exguns = 27;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile da Combattimento- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 28) {
exguns = 28;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Mac10- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 29) {
exguns = 29;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -MP5- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 30) {
exguns = 30;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -AK47- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 31) {
exguns = 31;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -M4- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 32) {
exguns = 32;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Tec9- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 33) {
exguns = 33;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 34) {
exguns = 34;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile di Precisione- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep > 34) {
SendClientMessage(playerid, 0xFF8A00AA, "Puoi selezionare le armi solamente da 22 and 34.");
return 1;
}
if (wep < 22) {
SendClientMessage(playerid, 0xFF8A00AA, "Puoi selezionare le armi solamente da 22 a 34.");
return 1;
}
return 1;
} else {
SendClientMessage(playerid,0xFF8A00AA,"Devi essere un admin...");
return 1;
}
}


Non l'ho ancora testata non avendo SA-MP, ma dovrebbe ugualmente funzionare. Only for SA-MP 0.2.
P.S.: Inutile dire che serve avere lo strtok impostato per far compilare il codice.
P.S.2: Consiglio: Mettete l'instagib sul server, e questa funzione diventerà veramente realistica...

Enjoy. :nose:

Testato - funziona :lode:


Immagine Postata

0

#31 L'utente è offline   Wesker 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1723
  • Iscritto il: 04/01/07

Inviato il 18 agosto 2007 - 21:00

Quote

Originally posted by Cristalmine+18/08/07 - 22:53

Quote

(Cristalmine @ 18/08/07 - 22:53)
-Chiarboss
@19/06/07 - 15:46
Proiettili Esplosivi:

In testa alla GM:

#include <a_samp>
#pragma tabsize 0 //per evitare i warnings delle spaziature errate

new exguns;


Sotto OnPlayerDeath:

new Float:x;
new Float:y;
new Float:z;
if(exguns == 1) {
GetPlayerPos(playerid, x, y, z); CreateExplosion(x, y, z, 10, 40);
}
if(exguns >= 22 && reason >= 22) {
GetPlayerPos(playerid, x, y, z); CreateExplosion(x, y, z, 10, 40);
}


Sotto OnPlayerCommandText:

if(strcmp(cmd,"/exguns",true)==0) {
 if(IsPlayerAdmin(playerid) == 1) {
 exguns = 1;
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername, sizeof(playername));
format(string,sizeof(string),"L'admin %s ha rifornito tutte le armi di Proiettili Esplosivi",playername);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid, 0xFF8A00AA, "Devi essere un admin...");
}
return 1;
}

//Per interrompere il rifornimento di Proiettili Esplosivi:

if(strcmp(cmd,"/noexguns",true)==0) {
 if(IsPlayerAdmin(playerid) == 1) {
 if(exguns == 1) {
 exguns = 0;
 new playername[MAX_PLAYER_NAME];
 GetPlayerName(playerid,playername, sizeof(playername));
format(string,sizeof(string),"L'admin %s ha interrotto il rifornimento di Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid, 0xFF8A00AA, "Devi essere un admin...");
}
} else {
SendClientMessage(playerid, 0xFF8A00AA, "Attualmente non c'è nessun rifornimento di Proiettili Esplosivi in corso.");
}
return 1;
}

//Per selezionare l'arma da rifornire di Proiettili Esplosivi:

if(strcmp(cmd,"/exguns",true) == 0) {
if(IsPlayerAdmin(playerid) == 1) {
new playername[MAX_PLAYER_NAME];
new tmp[256];
new wep;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,0xFF8A00AA,"Utilizzo: /exguns [weaponid]");
return 1;
}
wep = strval(tmp);
GetPlayerName(playerid,playername,sizeof(playername));
if (wep == 22) {
exguns = 22;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Pistola- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 23) {
exguns = 23;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Pistola Silenziata- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 24) {
exguns = 24;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Desert Eagle- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 25) {
exguns = 25;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile a Pompa- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 26) {
exguns = 26;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile a Canne Mozze- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 27) {
exguns = 27;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile da Combattimento- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 28) {
exguns = 28;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Mac10- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 29) {
exguns = 29;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -MP5- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 30) {
exguns = 30;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -AK47- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 31) {
exguns = 31;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -M4- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 32) {
exguns = 32;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Tec9- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 33) {
exguns = 33;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep == 34) {
exguns = 34;
format(string,sizeof(string),"L'admin %s ha rifornito l'arma -Fucile di Precisione- con Proiettili Esplosivi.",playername);
SendClientMessageToAll(0xFF8A00AA,string);
return 1;
}
if (wep > 34) {
SendClientMessage(playerid, 0xFF8A00AA, "Puoi selezionare le armi solamente da 22 and 34.");
return 1;
}
if (wep < 22) {
SendClientMessage(playerid, 0xFF8A00AA, "Puoi selezionare le armi solamente da 22 a 34.");
return 1;
}
return 1;
} else {
SendClientMessage(playerid,0xFF8A00AA,"Devi essere un admin...");
return 1;
}
}


Non l'ho ancora testata non avendo SA-MP, ma dovrebbe ugualmente funzionare. Only for SA-MP 0.2.
P.S.: Inutile dire che serve avere lo strtok impostato per far compilare il codice.
P.S.2: Consiglio: Mettete l'instagib sul server, e questa funzione diventerà veramente realistica...

Enjoy. :nose:

Testato - funziona :lode: [/b]

Perché, che ti aspettavi? :i:
Firma cancellata perchè fuori norma, leggi il regolamento. Il codice precedente è stato inviato per Messaggio Privato.
0

#32 L'utente è offline   MdMA 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 4838
  • Iscritto il: 07/05/07
  • Provenienza:Riccione (RN)

Inviato il 21 agosto 2007 - 13:08

allora sempre se si puo io avrei da chiedere due o tre cosette...

1) si puo fare spawnare i player con 2 pixl di vita ( pocha vita,meno della meta) e se si come?

2) si possono spawnare i player (sempre lo stesso peds , a caso , con le coordinate che gli do io ? e se si come?

3) come faccio a stabilire un clima fisso nella gmode ma che quando voglio posso cambiarlo con la funzione /rcon weather?
0

#33 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 21 agosto 2007 - 13:22

Quote

Originally posted by $imo@21/08/07 - 14:08
allora sempre se si puo io avrei da chiedere due o tre cosette...

1) si puo fare spawnare i player con 2 pixl di vita ( pocha vita,meno della meta) e se si come?

2) si possono spawnare i player (sempre lo stesso peds , a caso , con le coordinate che gli do io ? e se si come?

3) come faccio a stabilire un clima fisso nella gmode ma che quando voglio posso cambiarlo con la funzione /rcon weather?

1)

public OnPlayerSpawn(playerid) {
SetPlayerHealth(playerid,2);
}

... :m:

2)

AddPlayerClass(skinid,x,y,z,zrot,wpn1,wpn2,wpn3,ammo1,ammo2,ammo3);

.... :m:

3)

SetWeather(wheaterid);

................................. :what:
"Audentes Fortuna iuvat"
0

#34 L'utente è offline   MdMA 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 4838
  • Iscritto il: 07/05/07
  • Provenienza:Riccione (RN)

Inviato il 21 agosto 2007 - 14:06

alloea :asd: quelle faccine ho gia capito a cosa si riferiscono ma ankora in ste cose sono nappo XD la 1 e la 3 le ho capite...
ma la 2 forse nn hai capito che ti chiedevo allora io ho fatto una piattafiorma in mezzo al mare con case edifici ecc e io voglio che il player scielga il suo peds ( ce ne pè uno solo) e venga spawnato a caso su questa piattaforma in mezzo al mare ma a caso tra delle coordinate che dico io capito? in pratica un player entra sciela la skin e viene spawnato a caso su una coordinata predefinita il player seguente entre scieglio lo stesso peds e viene spawnato in un ALTRA coordinata predefinita in modo che i due player nn si incontrino subito allo spawn (visto ke è una mod sniper se si vedono subito nn ce gusto XD) capito? ç__ç

p.s. è fattibile? :cry:
0

#35 L'utente è offline   Snake17 

  • Vice
  • Gruppo: Utenti
  • Messaggi: 11939
  • Iscritto il: 16/02/07
  • GTA Preferito:Sconosciuto

Inviato il 21 agosto 2007 - 14:18

cm questa idea mi hai ftto venireu n ideonaaaa

solo ke non ci so fare con la creazione di gm
Kevin: Tugg, tu sei l'ultimo pezzo del puzzle bello, ti vogliamo, i tuoi uomini ti vogliono! Allora stai con noi?
Tugg: Io sono pura illusione...
Kevin: Fottiti! Andiamo.
0

#36 L'utente è offline   Wesker 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1723
  • Iscritto il: 04/01/07

Inviato il 21 agosto 2007 - 14:27

Quote

Originally posted by $imo@21/08/07 - 16:06
alloea :asd: quelle faccine ho gia capito a cosa si riferiscono ma ankora in ste cose sono nappo XD la 1 e la 3 le ho capite...
ma la 2 forse nn hai capito che ti chiedevo allora io ho fatto una piattafiorma in mezzo al mare con case edifici ecc e io voglio che il player scielga il suo peds ( ce ne pè uno solo) e venga spawnato a caso su questa piattaforma in mezzo al mare ma a caso tra delle coordinate che dico io capito? in pratica un player entra sciela la skin e viene spawnato a caso su una coordinata predefinita il player seguente entre scieglio lo stesso peds e viene spawnato in un ALTRA coordinata predefinita in modo che i due player nn si incontrino subito allo spawn (visto ke è una mod sniper se si vedono subito nn ce gusto XD) capito? ç__ç

p.s. è fattibile? :cry:

Nell'OnGameModeInit:

ShowNameTags(0);
ShowPlayerMarkers(0);



In testa alla GM:

enum PlayerSpawnInfo {
	Float:PlayerX,
	Float:PlayerY,
	Float:PlayerZ,
	Float:PlayerAngle
}

new Float:gRandomSpawns[][PlayerSpawnInfo] =
{
  {x,y,z,zangle},
  {x,y,z,zangle},
  {x,y,z,zangle}
};
//e così via...


Nell'OnPlayerSpawn:

new rand = random(sizeof(gRandomSpawns))
SetPlayerPos(playerid,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns[rand][PlayerAngle]);



Ed ecco fatto... ;)
Firma cancellata perchè fuori norma, leggi il regolamento. Il codice precedente è stato inviato per Messaggio Privato.
0

#37 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 21 agosto 2007 - 14:27

E' lo stesso sistema che usa minigun maddness?... xke non prelevare il codice esattamente da li dato ke la GMode ce l'hai gia praticamente fatta? :m: basta ke cambi le coordinate di minigun maddness e aggiungi gli oggetti... :P
"Audentes Fortuna iuvat"
0

#38 L'utente è offline   MdMA 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 4838
  • Iscritto il: 07/05/07
  • Provenienza:Riccione (RN)

Inviato il 21 agosto 2007 - 15:50

grazie mille chiarboss e anke skifo :D grazieeeee
0

#39 L'utente è offline   MdMA 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 4838
  • Iscritto il: 07/05/07
  • Provenienza:Riccione (RN)

Inviato il 21 agosto 2007 - 16:14

questa è la gm

Spoiler



quando la compilo mi da questi errori cosa succede? ç__ç
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(37) : error 001: expected token: "}", but found "{"
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(44) : error 054: unmatched closing brace ("}")
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(44) : error 010: invalid function or declaration
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(206) : warning 217: loose indentation
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(210) : error 021: symbol already defined: "SetPlayerHealth"
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(212) : error 010: invalid function or declaration
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(214) : error 054: unmatched closing brace ("}")
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(250) : warning 217: loose indentation
C:\Documents and Settings\SIMONE\Desktop\tutto samp\my server\pawno\snipersimo.pwn(256) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


6 Errors.


p.s. nn guardare questo:

Spoiler


che è solo una prova eh :asd:
0

#40 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 21 agosto 2007 - 16:47

Corretta:

Spoiler


Gli errori erano due, il primo è che non avevi messo le virgole dopo ogni parentesi graffa nella lista delle coordinate random (Chiarboss nel suo esempio le aveva messe)

Il secondo era che SetPlayerHealth non era sotto OnPlayerSpawn, bensì fuori da ogni evento.
"Audentes Fortuna iuvat"
0

  • (18 Pagine)
  • +
  • 1
  • 2
  • 3
  • 4
  • Ultimo »
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

2 utenti stanno leggendo questa discussione
0 utenti, 2 ospiti, 0 utenti anonimi