-
Üdvözlet Uraim!
Lenne egy olyan problémám, hogy most beépítettem egy RandomSpawn rendszert és amikor Compilálni akarom akkor a Pawno buggol/crashel és kidobja nekem ezt:
A(z) Pawn Compiler library hibát észlelt, ezért leáll. A kellemetlenségekért elnézését kérjük.
A playerek csapatokra vannak osztva. Rákerestem és láttam írtak olyat, hogy a GetPlayerTeam és a RandomSpawn buggol, ha ez így van, hogy lehet ezt kiküszöbölni?
Válaszotokat elõre is köszönöm :D
-
Random spawn funkció:
public RandomSpawn(playerid);
public RandomSpawn(playerid)
{
new rand = random(3);
switch (rand)
{
case 0: SetPlayerPos(playerid, Px, Py, Pz);
case 1: SetPlayerPos(playerid, Px, Py, Pz);
case 2: SetPlayerPos(playerid, Px, Py, Pz);
}
return 1;
}
Csapat beállítás:
public OnPlayerRequestClass(playerid, classid)
{
switch(classid)
{
case 0: SetPlayerTeam(playerid, 0); // az elsõ skin kapja a 0-ás csapatot
case 1..3: SetPlayerTeam(playerid, 1); // a második, a harmadik és a negyedik az 1-est
case 4..5: SetPlayerTeam(playerid, 2); // az ötödik és a hatodik kapja a kettest
case 6: SetPlayerTeam(playerid, 3); // és a hetedik a hármast
}
return 1;
}
Ennek mûködnie kell mert kipróbáltam.
-
Kis gond:
C:\\Documents and Settings\\Sanyi\\Asztal\\szerver_2011\\pawno\\new.pwn(507) : warning 211: possibly unintended assignment
C:\\Documents and Settings\\Sanyi\\Asztal\\szerver_2011\\pawno\\new.pwn(507) : error 022: must be lvalue (non-constant)
C:\\Documents and Settings\\Sanyi\\Asztal\\szerver_2011\\pawno\\new.pwn(507) : warning 215: expression has no effect
C:\\Documents and Settings\\Sanyi\\Asztal\\szerver_2011\\pawno\\new.pwn(507) : error 001: expected token: \";\", but found \")\"
C:\\Documents and Settings\\Sanyi\\Asztal\\szerver_2011\\pawno\\new.pwn(507) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\Sanyi\\Asztal\\szerver_2011\\pawno\\new.pwn(507) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
:D és itt a scriptrészlet:
public RandomSpawn(playerid)
{
new rand = random(4);
if(GetPlayerTeam(playerid) = zsaru))
{
switch (rand)
{
case 0: SetPlayerPos(playerid, 1521.8903808594, -1460.3934326172, 10.5);
case 1: SetPlayerPos(playerid, 1241.4030761719, -1258.2125244141, 18.190349578857);
}
}
if(GetPlayerTeam(playerid) = civil))
{
switch (rand)
{
case 2: SetPlayerPos(playerid, 1579.9982910156, -1635.0228271484, 14.561319351196);
case 3: SetPlayerPos(playerid, 1037.9151611328, -1339.0729980469, 15.7265625);
}
}
return 1;
}
De legalább már nem crashel a pawno :D :D
-
new zsaru[MAX_PLAYERS];
new civil[MAX_PLAYERS];
public RandomSpawn(playerid)
{
new rand = random(4);
if(GetPlayerTeam(playerid) == zsaru[playerid])
{
switch (rand)
{
case 0: SetPlayerPos(playerid, 1521.8903808594, -1460.3934326172, 10.5);
case 1: SetPlayerPos(playerid, 1241.4030761719, -1258.2125244141, 18.190349578857);
}
}
if(GetPlayerTeam(playerid) == civil[playerid])
{
switch (rand)
{
case 2: SetPlayerPos(playerid, 1579.9982910156, -1635.0228271484, 14.561319351196);
case 3: SetPlayerPos(playerid, 1037.9151611328, -1339.0729980469, 15.7265625);
}
}
return 1;
}
-
Random spawn:
new Float:RandomSpawn[][3] =
{
{x, y, z],
{x, y, z},
{x, y, z} // ucsó után nem kell vesszõ
}; // az x y z helyére ird a megfelelõ kordinátát
public OnPlayerSpawn(playerid)
{
new rand = random(sizeof(RandomSpawn));
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
return 1;
}
-
thx megoldódott, zárok :D