Jump to content
  • 0

pomoc POMOC POVOLANI


GAMELASTERツ

Dotaz

CAWTE POZRITE CO MI VYPISUJE

C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(41) : warning 213: tag mismatch
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(41) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(41) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(41) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(41) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(47) : warning 217: loose indentation
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(68) : warning 217: loose indentation
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(105) : error 017: undefined symbol "IsPlayerInSphere"
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(108) : error 017: undefined symbol "string"
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(108) : error 017: undefined symbol "string"
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(108) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Marek\Pracovná plocha\samp2\ZIVOT2.pwn(108) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

toto je na to navod a urcite je tam chyba

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); 
  }

Link to comment
Share on other sites

3 odpovědí na tuto otázku

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...