GTA.cz |

GTA Multiplayer

Domácí stránka | RSS kanál | E-mail
GTA.cz English
Reklama

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í

levné hry

anketa

screenshoty dne

editorial

GTA 5 se nám bohužel opět v předchozím měsíci neukázalo, takže si na druhý trailer ještě nějaký týden, nebo měsíc počkáme. Víme ale, že se v GTA 5 neobjeví CJ - novinka. V naší jarní fotografické soutěži jste si mohli alespoň něco pěkného vysoutěžit a tímto všem zúčastněným děkujeme. Galerii soutěžních příspěvků najdete zde. Brzy vyjde Max Payne 3, tak se snad po jeho vydání R* zaměří na GTA 5 a vypustí nějaké nové info.

Šéfredaktor

návštěvnost

odkazy

naše ikona

GTA.cz

partneři



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

Hodnocení her

Zobrazit vše

Zkuste nové online hry zadarmo, web raketka.cz!