Szerző Téma: Furcsa hiba  (Megtekintve 1131 alkalommal)

Nem elérhető smart

  • 136
    • Profil megtekintése
Furcsa hiba
« Dátum: 2011. június 18. - 18:00:40 »
0 Show voters
Sziasztok! Most írok egy rendõrös GM-et és teszt közben olya hibával találkoztam, amit még nem láttam. /107-el hívnak engem, elfogadom erre semmi nem történik. Kilépke a munkából, átveszi az egyik playerem a helyem és õ tudja fogadni a hívásom. Megint belépek rendõrnek és mostmár nekem is mûködik. Minden restart után ez van, és nem találom a hibát.
Itt a parancs:
[pawn]CMD:elfogad(playerid, params[])
{
    new adottid;
    if(sscanf(params, \"u\", adottid)) return SendClientMessage(playerid, COLOR_RED, \"» Használat: /elfogad [playerid]\");
    if(adottid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"» Hiba: Nincs ilyen játékos!\");
    if(gTeam[playerid] == TEAM_COPS)
{
    if(rhivott[adottid] == true)
    {
       new Float:Pos[3];
   GetPlayerPos(adottid, Pos[0], Pos[1], Pos[2]);
   SendClientMessage(playerid, COLOR_GREEN, \"Elfogadtad a hívást!\");
   SendClientMessage(adottid, COLOR_GREEN, \"Elfogadták a hívásod!\");
        SetPlayerCheckpoint(playerid, Pos[0], Pos[1], Pos[2], 3);
        rhivott[adottid] = false;
   }
   else
   {
       SendClientMessage(playerid, COLOR_RED, \"Ez a játékos nem hívott rendõrt!\");
   }
}
else
{
    SendClientMessage(playerid, COLOR_RED, \"Nem vagy rendõr, hogy fogadhass segélyhívást!\");
}
return 1;
}[/pawn]
remélem tudtok segíteni, fontos lenne, mert sok más parancsom ezen az elven alapulna.... Elõre is köszönöm a válaszokat.
E:  itt valamiért elcsúsznak a sorok.
E2: Ha már itt tartunk, az is érdekelne, hogy találkoztatok-e már ilyennel, és ha igen, hogy sikerült kijavítani?
/107 parancs:
[pawn]CMD:107(playerid, params[])
{
new name[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), \"[ ! ] %s -nek szüksége van rendõri segítségre! (/elfogad %d)\", name, playerid);
SendMessageToCops(COLOR_LIGHTBLUE, string);
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"A rendõröket értesítettük... Várj itt amíg, meg nem érkeznek!\");
    rhivott[playerid] = true;
return 1;
}[/pawn]
« Utoljára szerkesztve: 2011. június 19. - 09:47:39 írta smart »

Furcsa hiba
« Válasz #1 Dátum: 2011. június 18. - 22:57:00 »
0 Show voters
Ebben a parancsban egyáltalán semmi nem utal arra hogy pont téged hívtak személy szerint itt csak annyi van hogy egy adott játékos egy rendõrt hív akkor a számára kijelölt változó át lesz állítva (rhivott[adottid] = true) és azt bármelyik rendõr teamhez tartozó( if(gTeam[playerid] == TEAM_COPS) ) játékos eltudja fogadni.
Ha egyéb más gond van akkor az a /107 parancsban keresendõ. Postold azt is.

Nem elérhető smart

  • 136
    • Profil megtekintése
Furcsa hiba
« Válasz #2 Dátum: 2011. június 19. - 09:50:36 »
0 Show voters
Idézetet írta: Zsolesszka date=1308430620\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8924\" data-ipsquote-contentclass=\"forums_Topic
Ebben a parancsban egyáltalán semmi nem utal arra hogy pont téged hívtak személy szerint itt csak annyi van hogy egy adott játékos egy rendõrt hív akkor a számára kijelölt változó át lesz állítva (rhivott[adottid] = true) és azt bármelyik rendõr teamhez tartozó( if(gTeam[playerid] == TEAM_COPS) ) játékos eltudja fogadni.
Ha egyéb más gond van akkor az a /107 parancsban keresendõ. Postold azt is.
 
Ez mind teljesen igaz, én sem írtam mást, csak tudod az a gond, hogy restart után az /elfogad parancs az elsõ rendõrnek aki restart óta a parancsot elõször használta, nem mûködik. Nem írja ki az üzeneteket és nem teszi le a CP-t. De más rendõr, aki ezután elfogadja annak mûködik minden, és ha ezután az elsõ rendõr megint megpróbálja akkor már neki is jó.
a /107 parancsot postoltam.

Furcsa hiba
« Válasz #3 Dátum: 2011. június 19. - 12:36:46 »
0 Show voters
Hát nem tudom amit leírsz nem igazán fedi azt ami a kódban szerepel.
Ugye van egy változó (rhivott[playerid]) amit a rendõrt hívó játékosnak igazra való állításával jelölsz (rhivott[playerid] = true;).
Amint egy rendõr ezt elfogadja akkor ez a változó hamis értékre lesz állítva (rhivott[adottid] = false;), akkor több rendõr már nem tudja ezt elfogadni.
Ezért nem értem hogy te restart után mit remélsz?
Hogy minden adat megmaradjon ami változókban van tárolva?
Ahhoz hogy újra elfogadni lehessen egy hívást valakinek használni is kell a /107 parancsot, most akkor azt mondod hogy egyáltalán nem jelenik meg semmilyen üzenet akkor ha valaki beírja \"/elfogad\" ?
Kicsit jobban írd le mi a gond utána már lehet te is rájössz mi lehet a hiba.

Nem elérhető smart

  • 136
    • Profil megtekintése
Furcsa hiba
« Válasz #4 Dátum: 2011. június 19. - 14:24:55 »
0 Show voters
Oksa, szóval, restart után beállok rendõrnek. Egy játékos beírja /107 én elfogadom, de ekkor semmi nem történik. Kilépek a melóból. Beáll egy másik player rendõrnek. Beírja valaki hogy /107 és akkor már rendesen tudják fogadni a hívást a rendõrök. Utánna megint visszaállok rendõrnek és már nekem is mûködik. Ha lemegyek a szerverrõl, majd megint fel, akkor már nem áll fent ez a hiba. De ha gondolod dobj egy PM-et msn-eddel és megmutatom a szerveren...

Furcsa hiba
« Válasz #5 Dátum: 2011. június 19. - 15:57:35 »
0 Show voters
Oksa, szóval, restart után beállok rendõrnek. Egy játékos beírja /107 én elfogadom, de ekkor semmi nem történik.[/quote]
Ezt meg hogy érted hogy semmi? Egyáltalán semmi üzenet nem jön fel mikor beírod a parancsot (/elfogad)?
Mert akkor már más lehet a gond, mert a parancs felépítése szerint minden eshetõségre meg kellene jeleníteni valamit.
Küld itt pm-ben a szerver IP-t meglesem.

Nem elérhető smart

  • 136
    • Profil megtekintése
Furcsa hiba
« Válasz #6 Dátum: 2011. június 19. - 16:07:10 »
0 Show voters
küldtem PM-et
E: Ez a smiley odavág:  :problem:  XD
« Utoljára szerkesztve: 2011. június 19. - 16:14:00 írta smart »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal