-
Üdv!
A problémám, hogy szeretnék egy olyan Cp-t csinálni ahol ha emberünk belemegy, rendõrt csinálunk belõle
hibák:
D:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\szerver\\gamemodes\\SL.pwn(148) : error 017: undefined symbol \"gPlayerCPStatus\"
D:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\szerver\\gamemodes\\SL.pwn(148) : warning 215: expression has no effect
D:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\szerver\\gamemodes\\SL.pwn(148) : error 001: expected token: \";\", but found \"]\"
D:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\szerver\\gamemodes\\SL.pwn(148) : error 029: invalid expression, assumed zero
D:\\Program Files (x86)\\Rockstar Games\\GTA San Andreas\\szerver\\gamemodes\\SL.pwn(148) : fatal error 107: too many error messages on one line
Cp megjelenítés:
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1568.5374,-1691.9299,5.8906))
{
SetPlayerCheckpoint(1568.5374,-1691.9299,5.8906, 2);
gPlayerCPStatus[playerid] = 1;
}
DisablePlayerCheckpoint(playerid);
gPlayerCPStatus[playerid] = 0;
return 1;
Cp mûködése:
public OnPlayerEnterCheckpoint(playerid)
{
switch(gPlayerCPStatus[playerid])
{
case 0: return 1;
case 1:
{
if(GetPlayerScore(playerid)<200)
{
SetPlayerSkin(playerid,280);
SetPlayerTeamFromClass(playerid, classid);
{
if(GetPlayerSkin(playerid)==280)
{
gTeam[playerid] = TEAM_POLICE;
}
}
}
SendClientMessage(playerid, RED, \"Nics meg a kellõ pontod, Szükséges: 200\");
}
}
return 1;
}
Mod elejére:
new gPlayerCPStatus[MAX_PLAYERS];
OnPlayerConnect alá:
gPlayerCPStatus[playerid] = 0;
-
Szerintem elég ha new gPlayerCPStatus; írsz, probáld meg úgy..
-
Nem, mert az a lényege hogy lenulláza a változót ezáltal eltüntesse a Checkpointot, mert ha a változó 1 akkor lerakja az 1-es Cp-t, ha 2 akkor lerakja a 2-est és így tovább
-
Én megcsináltam és hibátlan a gTeamot majd defináld
#include a_samp
new gPlayerCPStatus[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1568.5374,-1691.9299,5.8906))
{
SetPlayerCheckpoint(1568.5374,-1691.9299,5.8906, 4.0);
gPlayerCPStatus[playerid] = 1;
}
DisablePlayerCheckpoint(playerid);
gPlayerCPStatus[playerid] = 0;
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
switch(gPlayerCPStatus[playerid])
{
case 0: return 1;
case 1:
{
if(GetPlayerScore(playerid)<200)
{
SetPlayerSkin(playerid,280);
{
if(GetPlayerSkin(playerid)==280)
{
gTeam[playerid] = TEAM_POLICE;
}
}
}
SendClientMessage(playerid, -1, \"Nics meg a kellõ pontod, Szükséges: 200\");
}
}
return 1;
}
public OnPlayerConnect(playerid)
{
gPlayerCPStatus[playerid] = 0;
return 1;
}
-
De ez ugyan az mint az enyém, mit változtattál rajta?
-
http://wiki.sa-mp.com/wiki/SetPlayerCheckpoint
Mintha hiányozna egy paraméter, (playerid).
-
Beírtam, ugyan az történt
-
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 1568.5374,-1691.9299,5.8906))
{
SetPlayerCheckpoint(1568.5374,-1691.9299,5.8906, 4.0);
gPlayerCPStatus[playerid] = 1;
}
DisablePlayerCheckpoint(playerid);
gPlayerCPStatus[playerid] = 0;
return 1;
}
Ennél csak nekem tûnt fel az a hiba, hogy ha közel vagy, akkor megjeleníti a CPt, utána rögtön eltûnteti, mert nincs visszatérési érték ami megállítaná?
-
raktam return-már oda is, de a valós probléma még mindig fenn áll
-
Az enyémet nézzd meg változtattam rajta..
-
azt raktam be, de mit változtattál a színen kívül????????????
-
Szerintem zárási hiba lesz, ami a módodban/sctriptedben van. Az elõttelévõ sorokat, és az utánalévõ sorokat is bemásolnád?
-
azt raktam be, de mit változtattál a színen kívül????????????
Igen a színt is de nem csak azt figyeld meg a tied és az enyémet, egyépként ha ez nem megyen a modban van a hibád.
-
Gábor:
A problémás rész ez lehet, mert a többi sor elõtt üres eljárások vannak:
if(dini_Exists(PlayerInfo))
{
ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT,\"Login\",\"A fiókod regisztrálva van adj meg a jelszavad!\",\"Login\",\"Kilép\");
}
else
{
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT,\"Regisztráció\",\"A fiókód nincs regisztrálva, kérlek adj meg egy jelszót\",\"Regist\",\"Kilép\");
}
gPlayerCPStatus[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
Zyzu: Utálok barkobázni, mond el mit változtattál, nem mellesleg beraktam egy teljesen üres filterscript-be, és ugyan más hibákat írt, de akkor se volt jó
-
Hát ebbõl nem sokat tudtam meg. :D Dobj meg PM-ben Skype elérhetõséggel, és küld át, kijavítom. Vagy, ha nincs Skypeod, akkor töltsd fel valahova a módot/scriptet, és küld el PM-ben a linket.
-
Véletlenül nem hiányzik a scriptbõl/modból egy olyan hogy:
new gPlayerCPStatus[MAX_PLAYERS];
?