GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: [ZzZ]Álmos - 2012. február 14. - 16:09:56

Cím: /count (visszaszámláló)
Írta: [ZzZ]Álmos - 2012. február 14. - 16:09:56
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!
Cím: /count (visszaszámláló)
Írta: szabyxxx - 2012. február 14. - 16:20:10
#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
Cím: /count (visszaszámláló)
Írta: [ZzZ]Álmos - 2012. február 14. - 16:24:10
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?
Cím: /count (visszaszámláló)
Írta: Gabor.. - 2012. február 14. - 16:25:30
#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.
Cím: /count (visszaszámláló)
Írta: [ZzZ]Álmos - 2012. február 14. - 16:28:55
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!