GTA.cz

SA:MP - Pawno - [TUT] Povolania Viktor Tomaš Paulík | 22.08.2008

Takže veľa ľudí sa pýta, ako urobiť povolania. Ja tu pre vás mám návod. Nieje to cez CP čo sa tiež dá, ale radím vám skôr tento spôsob, pretože CP spôsobujú na servery lagy.
 
Po prvé: Nadefinujeme povolanie
new povolanie[MAX_PLAYERS];
 
Ďalej musíme dať do publicu OnPlayerConnect
povolanie[playerid] = 0;
 
Samozrejme ak máte registráciu povolanie sa uloží. Ale ak nie, vždy keď sa pripojíte znovu budete nezamestnaný...
 
Do publicu OnPlayerCommandText si dáme samotný príkaz na povolanie
if(strcmp("/taxikar", cmdtext, true) == 0) {  -Príkaz
if(IsPlayerInSphere(playerid,205.9575,-229.6653,1.7786,5) == 1) {  -IsPlayerInSphere. Veľmi dôležite. Namiesto súradníc si dajte vaše. To 5 je radius čiže dosah.
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), " %s sa stal taxikárom!!", pname);
SendClientMessageToAll(COLOR_RED, string);
printf(string);
povolanie[playerid] = 1;  -nastaví povolanie 1. Pri iných povolaniach to bude 2,3,4...
SetSpawnInfo(playerid,1,71,203.9847,-236.9536,1.6733,178.2899,0,0,0,0,0,0); -Tu sa bude hráč spawnovať
SetPlayerInterior(playerid,0); -Nastaví interiér 0 čo je vonku. Interiéri budov zistíte priamo v hre príkazom /interior
SpawnPlayer(playerid); -Spawne hráča
}
return 1;
}
 
Ďalej si musíme nadefinovať IsPlayerInSphere takže hocikde si dajte
 
IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius)
{
   if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius){
   return 1;
}
   return 0;
}
GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z)
{
   new Float:x1,Float:y1,Float:z1;
   new Float:tmpdis;
   GetPlayerPos(playerid,x1,y1,z1);
   tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower
(floatabs(floatsub(z,z1)),2)); (tento riadok patrí k tomu hore, lenže pre šírku stránky sme ho museli oddeliť, vy si ho spojte)
   return floatround(tmpdis);
}
 
Ďalej niečo nepotrebné, ale ak chcete, hodí sa to. Pickup. Takže napr takto:
new taxipickup;
 
Do OnGameModeInit si dajte
taxipickup = CreatePickup(1239,1,205.9575,-229.6653,1.7786);
 
No a naposledy do publicu OnPlayerPickUpPickup
 
if(pickupid == taxipickup)
   {
GameTextForPlayer(playerid,"~r~Ak sa chces stat taxikarom napis ~g~/taxikar",3000,5);
   }
 
Hádam to pochopíte. Ak niečo nechápete napíšte na icq 479-541-027.
By Homer

vyhledávání

reklama

editorial

Grand Theft Auto 6 se nám po sakra dlouhém čekání již oficiálně ukázalo. Dočkáme se ale odložení, nebo to tentokrát nenastane? Možná, že už není čím hráče překvapit, možná ale bude GTA 6 zas pořádný gamechanger. Těšíte se také? :)

Šéfredaktor

návštěvnost

odkazy

naše ikona

GTA.cz

partneři


Online hokej manažer - Zahraj si skutečný hokejový manažer!
3D wide HD wallpapers tapety na plochu

Vyťukej.cz

Zobrazit vše

Zahrajte si hry online hned teď!

© 2005 - 2024  Honza Svatoš & Scorpions.cz | XHTML & CSS:  Ondřej Mirtes | Design:  Paľo Delinčák | Ochrana osobních údajů | Nastavení cookies