Szerző Téma: Számláló  (Megtekintve 1048 alkalommal)

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Számláló
« Dátum: 2014. Augusztus 20. - 13:33:01 »
0
Sziasztok!
Csináltam egy scriptet igazából inkább egy pawn kódot, ami FUN szervereken jól jöhet, ez az elsõ szkriptem ( CODE-m) amit publikálok.
Használjátok egészséggel!
 
#include <a_samp>
#include <zcmd>
forward szamlalo1(playerid);
forward szamlalo2(playerid);
forward szamlalo3(playerid);
forward szamlalo4(playerid);
forward szamlalo5(playerid);
forward GO(playerid);
CMD:szamlalo(playerid, params[])
{
SendClientMessageToAll(0x49d929AA, \"Szerver : Valaki elinditott egy számlálót!\");
SetTimerEx(\"szamlalo1\", 1000, 0, \"i\", playerid);
return 1;
}
public szamlalo1(playerid)
{
GameTextForAll( \"~w~5\", 1000, 3);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx(\"szamlalo2\", 1000, 0, \"i\", playerid);
}
public szamlalo2(playerid)
{
GameTextForAll( \"~y~4\", 1000, 3);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx(\"szamlalo3\", 1000, 0, \"i\", playerid);
}
public szamlalo3(playerid)
{
GameTextForAll( \"~r~3\", 1000, 3);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx(\"szamlalo4\", 1000, 0, \"i\", playerid);
}
public szamlalo4(playerid)
{
GameTextForAll( \"~w~2\", 1000, 3);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx(\"szamlalo5\", 1000, 0, \"i\", playerid);
}
public szamlalo5(playerid)
{
GameTextForAll( \"~g~1\", 1000, 3);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SetTimerEx(\"GO\", 1000, 0, \"i\", playerid);
}
public GO(playerid)
{
GameTextForAll( \"~r~G~w~O~g~!\", 1000, 3);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
}
« Utoljára szerkesztve: 2014. Augusztus 20. - 13:44:32 írta 1Mark6 »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Számláló
« Válasz #1 Dátum: 2014. Augusztus 20. - 16:31:38 »
+1
Szia. Egyszerûbben is meglehetett volna csinálni, illetve ha azt akarod hogy az összes játékosnak mutassa a visszaszámlálást akkor felesleges SetTimerEx-et használni, és akkor ellenõrizni is kell hogy valaki indított-e már el visszaszámlálást mert akkor buggolni fog.  Most ahogy van, a lejátszása úgy történik hogy egy játékos elindítja a visszaszámlálást, mindenkinek mutatja a számokat, viszont a hangokat csak az elindított játékosnak.


#include <a_samp>
#include <zcmd>
new Count = 5;
new CountOff;
new c_timer;
forward Countdown();
CMD:szamlalo(playerid, params[])
{
if(CountOff == 1) return SendClientMessage(playerid,-1,\"Már valaki elindított a visszaszámlálást!\");
new name[MAX_PLAYER_NAME],str[128];
GetPlayerName(playerid,name,sizeof(name));
format(str,sizeof(str),\"%s elindította a visszaszámlálót!\");
SendClientMessageToAll(-1,str);
c_timer = SetTimer(\"Countdown\",1000,1);
CountOff = 1;
return 1;
}
public Countdown()
{
if(Count == 0)
{
GameTextForAll( \"~g~Goooo!\", 3000, 3);
Count = 5;
CountOff = 0;
                return KillTimer(c_timer);
}
new str[32];
format(str,sizeof(str),\"~w~%d\",Count);
GameTextForAll(str, 3000, 3);
for(new i;i<MAX_PLAYERS;i++) PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
Count--;
return 1;
}

 
Aránylag szép munkát végeztél, de mindig keress egyszerûbb megoldást :)
« Utoljára szerkesztve: 2014. Augusztus 20. - 16:36:53 írta BoOy »

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Számláló
« Válasz #2 Dátum: 2014. Augusztus 20. - 18:10:50 »
0
Rendben, és köszi, igaz nem sok munka volt, de gondoltam egy kis dologgal kezdem el a \"pályafutásomat\".
Én is mindig a legegyszerûbbre gondolok csak nem tudom megvalósítani.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal