Jump to content
  • 0

pomoc /vybava


Domino

Dotaz

Zdarec kluci a holky, potřeboval bych pomoct ze SetTimerem protože vždycky když sem to zkoušel tak mi házelo error tak jestli by se vvám to podařilo díky. zkuste mi ten SetTimer tam dát děkuji všem

 

#include <a_samp>

#define BARVA_GREEN 0x00FF00FF

#define C 0xFFFFFFFF //Dávam C aby to bylo rychlejiší

#define Zprava SendClientMessage

#define ZpravaAll SendClientMessageToAll

#define SetVesta SetPlayerArmour

 

stock PlayerName(playerid){ new name[MAX_PLAYER_NAME];

GetPlayerName(playerid,name,MAX_PLAYER_NAME); return name;}

 

new Vybava[MAX_PLAYERS];

public OnPlayerCommandText(playerid, cmdtext[])

{

if(strcmp(cmdtext, "/vybava", true, 10) == 0) //Příkaz

{

GivePlayerWeapon(playerid,1,1); //Da háci zbran Boxer

GivePlayerWeapon(playerid,24,500); //Dá hráci zbran Desert Eagle s 500 náboji

GivePlayerWeapon(playerid,30,500); //Dá hráci zbran AK47 s 500 náboji

GivePlayerWeapon(playerid,35,500); //Dá hráci zbran Raketomet s 500 náboji

GivePlayerWeapon(playerid,32,500); //Da hráci zbran Tec9 s 500 náboji

GivePlayerWeapon(playerid,46,1); //Da hraci Padák

SetPlayerHealth(playerid,100); //Dá hráci 100 hp života

SetVesta(playerid,100); //vestu na 100

new str[200]; format(str,200,"{FFA500}[ Vybava ] {FF0000}Hráč {fFA500}%s {FF0000}si vzal výbavu!",PlayerName(playerid));

ZpravaAll(C,str);

return 1;

} return 0;}

 

Link to comment
Share on other sites

14 odpovědí na tuto otázku

Recommended Posts

  • 0

#include <a_samp>
#define BARVA_GREEN 0x00FF00FF
#define C 0xFFFFFFFF //Dávam C aby to bylo rychlejiší
#define Zprava SendClientMessage
#define ZpravaAll	 SendClientMessageToAll
#define SetVesta		 SetPlayerArmour

stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/vybava", true, 8) == 0) //Příkaz
{
if(GetPVarInt(playerid,"Zobral") == 1) return Zprava(playerid,-1,"Iba každých x minút");
GivePlayerWeapon(playerid,1,1); //Da háci zbran Boxer
GivePlayerWeapon(playerid,24,500); //Dá hráci zbran Desert Eagle s 500 náboji
GivePlayerWeapon(playerid,30,500); //Dá hráci zbran AK47 s 500 náboji
GivePlayerWeapon(playerid,35,500); //Dá hráci zbran Raketomet s 500 náboji
GivePlayerWeapon(playerid,32,500); //Da hráci zbran Tec9 s 500 náboji
GivePlayerWeapon(playerid,46,1); //Da hraci Padák
SetPlayerHealth(playerid,100); //Dá hráci 100 hp života
SetVesta(playerid,100); //vestu na 100
new str[200]; format(str,200,"{FFA500}[ Vybava ] {FF0000}Hráč {fFA500}%s {FF0000}si vzal výbavu!",PlayerName(playerid));
ZpravaAll(C,str);
SetPVarInt(playerid,"Zobral",1);
SetTimer("Povolit",180000,false);
return 1;
}
return 0;
}
forward Povolit(playerid);
public Povolit(playerid)
{
SetPVarInt(playerid,"Zobral",0);
}

http://pawno.cz/topic/39860-timer/

http://pawno.cz/topic/32141-pvar/

Link to comment
Share on other sites

  • 0

Pššst! to on neví :d

Tak ono to bude fungovat i takto ale zdá se mi to lepší

 

Mám takový dojem že to nepojede otestuj to tak že jeden na serveru si dá výbavu a druhý taky a po 3 minutách u toho prvního se to povolí tak jestli to nepůjde i tomu druhému

Link to comment
Share on other sites

  • 0
  • Hlavní moderátor

#include <a_samp>
#define BARVA_GREEN 0x00FF00FF
#define C 0xFFFFFFFF //Dávam C aby to bylo rychlejiší
#define Zprava SendClientMessage
#define ZpravaAll	 SendClientMessageToAll
#define SetVesta		 SetPlayerArmour

stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/vybava", true, 8) == 0) //Příkaz
{
if(GetPVarInt(playerid,"Zobral") == 1) return Zprava(playerid,-1,"Iba každých x minút");
GivePlayerWeapon(playerid,1,1); //Da háci zbran Boxer
GivePlayerWeapon(playerid,24,500); //Dá hráci zbran Desert Eagle s 500 náboji
GivePlayerWeapon(playerid,30,500); //Dá hráci zbran AK47 s 500 náboji
GivePlayerWeapon(playerid,35,500); //Dá hráci zbran Raketomet s 500 náboji
GivePlayerWeapon(playerid,32,500); //Da hráci zbran Tec9 s 500 náboji
GivePlayerWeapon(playerid,46,1); //Da hraci Padák
SetPlayerHealth(playerid,100); //Dá hráci 100 hp života
SetVesta(playerid,100); //vestu na 100
new str[200]; format(str,200,"{FFA500}[ Vybava ] {FF0000}Hráč {fFA500}%s {FF0000}si vzal výbavu!",PlayerName(playerid));
ZpravaAll(C,str);
SetPVarInt(playerid,"Zobral",1);
SetTimer("Povolit",180000,false);
return 1;
}
return 0;
}
forward Povolit(playerid);
public Povolit(playerid)
{
SetPVarInt(playerid,"Zobral",0);
}

http://pawno.cz/topic/39860-timer/

http://pawno.cz/topic/32141-pvar/

tak mám pocit, že by sis ten návod na timer měl přečíst

 

Zjistili jsme, že SetTimer nám odesílá prázdné parametry funkce. Ale co si pod tímto pojmem přestavit? Jednoduše, když vytvoříme callback (public), automaticky se všechny parametry které do něj vložíme mají hodnotu 0 (tedy pokud je nenastavíme).

 

takže tady:

forward Povolit(playerid);
public Povolit(playerid)
{
SetPVarInt(playerid,"Zobral",0);
}

je při použití SetTimer-u playerid vždy 0

 

MrSweet: nahraď ten SetTimer funkcí SetTimerEx jak říkal Isigar:

SetTimerEx("Povolit",180000,false,"d",playerid);

Link to comment
Share on other sites

  • 0

OK. sorry priznávam chybu v časovači ...je potrebné to opraviť na ten

SetTimerEx("Povolit",180000,false,"i",playerid);

Zrazila ma však jedna vec:

A proč si nepoužil settimerex ? By si nemusel použít Pvar

Pššst! to on neví :d

Zaujímalo by ma ako sa to robí bez PVaru(o premennej viem), vzhľadom k tomu že sme v sekcii help prosím vysvetlenie aby som vedel do buducna :)

apelovali na to Isigar a আঁচিলMágusআঁচিল

Link to comment
Share on other sites

  • 0
  • Hlavní moderátor

OK. sorry priznávam chybu v časovači ...je potrebné to opraviť na ten

SetTimerEx("Povolit",180000,false,"i",playerid);

Zrazila ma však jedna vec:

Zaujímalo by ma ako sa to robí bez PVaru, vzhľadom k tomu že sme v sekcii help prosím vysvetlenie aby som vedel do buducna :)

apelovali na to Isigar a আঁচিলMágusআঁচিল

v tom máš pravdu, leda přes proměnnou, ale tohle je lepší řešení :) já narážel jen na timer

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...