Szerző Téma: /count (visszaszámláló)  (Megtekintve 907 alkalommal)

[ZzZ]Álmos

  • Vendég
/count (visszaszámláló)
« Dátum: 2012. február 14. - 16:09:56 »
0 Show voters
Sziasztok. Kérnék egy egyszerû parancsot tõletek. Beírom, hogy /count és mondjuk 5-rõl visszaszámól 0-ra. :) Ha megvan leírjátok melyik függvény alá kell? :) Köszi!

/count (visszaszámláló)
« Válasz #1 Dátum: 2012. február 14. - 16:20:10 »
0 Show voters
#include <a_samp>
forward eCount(); //ez ami engedélyezi az uj függvényt!
new ec=-1,estr[128];
public eCount() itt az uj függvény
{
if(ec == 1)
{
ec = -1;
for(new integer=0;integer < MAX_PLAYERS; integer++)
   if(IsPlayerConnected(integer) && IsPlayerInAnyVehicle(integer))
      GameTextForPlayer(integer,\"~g~GO\",2000,5);
return 1;
}
ec--;
format(estr,128,\"%d\",ec);
for(new integer=0;integer < MAX_PLAYERS; integer++)
if(IsPlayerInAnyVehicle(integer) && IsPlayerConnected(integer))
   GameTextForPlayer(integer,estr,1000,5);
SetTimer(\"eCount\",1000,0);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])   //Oda vamn irva hogy OnPlayerCommandText alá :D
if (!strcmp(cmdtext, \"/count\", true))
{
if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xEB000FFF, \"HIBA: Nincs elég pénzed a visszaszámlálás elinditásáhóz!\");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xEB000FFF, \"Jármûben kell ülnöd!\");
if(ec != -1) return SendClientMessage(playerid,0xEB000FFF,\"Már aktív egy visszaszámlálás! Várj!\");
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(estr, sizeof(estr), \"Info: %s Elinditotta egy verseny-visszaszámlálást! (ára: $400)\", pName);
SendClientMessageToAll(0x33AA33AA, estr);
GivePlayerMoney(playerid, -400);
ec = 10;
eCount();
return 1;
} else return 0; //zárás

[ZzZ]Álmos

  • Vendég
/count (visszaszámláló)
« Válasz #2 Dátum: 2012. február 14. - 16:24:10 »
0 Show voters
Idézetet írta: Szabyxxx date=1329232810\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17043\" data-ipsquote-contentclass=\"forums_Topic

#include <a_samp>
forward eCount(); //ez ami engedélyezi az uj függvényt!
new ec=-1,estr[128];
public eCount() itt az uj függvény
{
if(ec == 1)
{
ec = -1;
for(new integer=0;integer < MAX_PLAYERS; integer++)
   if(IsPlayerConnected(integer) && IsPlayerInAnyVehicle(integer))
      GameTextForPlayer(integer,\"~g~GO\",2000,5);
return 1;
}
ec--;
format(estr,128,\"%d\",ec);
for(new integer=0;integer < MAX_PLAYERS; integer++)
if(IsPlayerInAnyVehicle(integer) && IsPlayerConnected(integer))
   GameTextForPlayer(integer,estr,1000,5);
SetTimer(\"eCount\",1000,0);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])   //Oda vamn irva hogy OnPlayerCommandText alá :D
if (!strcmp(cmdtext, \"/count\", true))
{
if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xEB000FFF, \"HIBA: Nincs elég pénzed a visszaszámlálás elinditásáhóz!\");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xEB000FFF, \"Jármûben kell ülnöd!\");
if(ec != -1) return SendClientMessage(playerid,0xEB000FFF,\"Már aktív egy visszaszámlálás! Várj!\");
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(estr, sizeof(estr), \"Info: %s Elinditotta egy verseny-visszaszámlálást! (ára: $400)\", pName);
SendClientMessageToAll(0x33AA33AA, estr);
GivePlayerMoney(playerid, -400);
ec = 10;
eCount();
return 1;
} else return 0; //zárás

 

[pawn]forward eCount();[/pawn] Ezt hova? Mod elejére? És mit írjak a zárójelbe?
Na aztán ha ez engedélyezi az új függvényt akkor lemegyek a mod legaljára ott nyitok egy függvényt.. tehát
[pawn]public eCount()[/pawn] és a () jelbe playerid, kell?

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
/count (visszaszámláló)
« Válasz #3 Dátum: 2012. február 14. - 16:25:30 »
+1 Show voters
#include <a_samp>
#include <zcmd>
forward eCount();
new ec=-1,estr[128];
public eCount()
{
if(ec == 1)
{
ec = -1;
for(new integer=0;integer < MAX_PLAYERS; integer++)
   if(IsPlayerConnected(integer) && IsPlayerInAnyVehicle(integer))
      GameTextForPlayer(integer,\"~g~GO\",2000,5);
return 1;
}
ec--;
format(estr,128,\"%d\",ec);
for(new integer=0;integer < MAX_PLAYERS; integer++)
if(IsPlayerInAnyVehicle(integer) && IsPlayerConnected(integer))
   GameTextForPlayer(integer,estr,1000,5);
SetTimer(\"eCount\",1000,0);
return 1;
}

 Ezt a mód elejére!
 
CMD:count(playerid, params[])
{
if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xEB000FFF, \"HIBA: Nincs elég pénzed a visszaszámlálás elinditásáhóz!\");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xEB000FFF, \"Jármûben kell ülnöd!\");
if(ec != -1) return SendClientMessage(playerid,0xEB000FFF,\"Már aktív egy visszaszámlálás! Várj!\");
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(estr, sizeof(estr), \"Info: %s Elinditotta egy verseny-visszaszámlálást! (ára: $100)\", name);
SendClientMessageToAll(0x33AA33AA, estr);
GivePlayerMoney(playerid, -100);
ec = 10;
eCount();
return 1;
}

 Ezt mindegy hova, csak ne egy függvénybe! Ha akarod zcmd-ben írod be, ha akarod akkor strcmp
UI: Egy kicsit eltolódott a script de az nem az én hibám, de a módban már jó lesz beírva.
« Utoljára szerkesztve: 2012. február 14. - 16:28:56 írta Gabor.. »

[ZzZ]Álmos

  • Vendég
/count (visszaszámláló)
« Válasz #4 Dátum: 2012. február 14. - 16:28:55 »
0 Show voters
Idézetet írta: Gabor.. date=1329233130\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17043\" data-ipsquote-contentclass=\"forums_Topic

#include <a_samp>
#include <zcmd>
forward eCount();
new ec=-1,estr[128];
public eCount()
{
if(ec == 1)
{
ec = -1;
for(new integer=0;integer < MAX_PLAYERS; integer++)
   if(IsPlayerConnected(integer) && IsPlayerInAnyVehicle(integer))
      GameTextForPlayer(integer,\"~g~GO\",2000,5);
return 1;
}
ec--;
format(estr,128,\"%d\",ec);
for(new integer=0;integer < MAX_PLAYERS; integer++)
if(IsPlayerInAnyVehicle(integer) && IsPlayerConnected(integer))
   GameTextForPlayer(integer,estr,1000,5);
SetTimer(\"eCount\",1000,0);
return 1;
}

 Ezt a mód elejére!
 
CMD:count(playerid, params[])
{
if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xEB000FFF, \"HIBA: Nincs elég pénzed a visszaszámlálás elinditásáhóz!\");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xEB000FFF, \"Jármûben kell ülnöd!\");
if(ec != -1) return SendClientMessage(playerid,0xEB000FFF,\"Már aktív egy visszaszámlálás! Várj!\");
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(estr, sizeof(estr), \"Info: %s Elinditotta egy verseny-visszaszámlálást! (ára: $100)\", name);
SendClientMessageToAll(0x33AA33AA, estr);
GivePlayerMoney(playerid, -100);
ec = 10;
eCount();
return 1;
}

 Ezt mindegy hova, csak ne egy függvénybe!
UI: Egy kicsit eltolódott a script de az nem az én hibám, de a módban már jó lesz beírva.
 
Teszteltem mûködik. Köszönöm!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal