Szerző Téma: - Ismeretlen nevû hiba! -  (Megtekintve 530 alkalommal)

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
- Ismeretlen nevû hiba! -
« Dátum: 2013. június 28. - 18:16:38 »
0 Show voters
Sziasztok. Hát a hiba nevét nem tudtam kitalálni ezért is gondolkozok h. mi a \'csa baja van ennek:
 
new TalkTexts[MAX_PLAYERS];
new TalkTimer;
new Text:Letter[MAX_PLAYERS];

 
OnGameModeInit Alatt:
 
Letter = TextDrawCreate(200.000000, 340.000000, \"asdasfsdgdfhdfhdf\");
TextDrawBackgroundColor(Letter, 255);
TextDrawAlignment(Letter, 1);
TextDrawFont(Letter, 1);
TextDrawLetterSize(Letter, 0.509999, 1.700000);
TextDrawColor(Letter, -1);
TextDrawSetOutline(Letter, 0);
TextDrawSetProportional(Letter, 1);
TextDrawSetShadow(Letter, 1);

 
OnPlayerConnect alatt:
 
TalkTimer = SetTimerEx(\"NextTalk\",5000,1,\"i\",playerid);
TalkTexts[playerid] = 0;

 
NextTalk alatt:
 
TalkTexts[playerid] ++;
TextDrawShowForPlayer(playerid,Letter[playerid);
switch(TalkTexts[playerid]) {
    case 1: TextDrawSetString(Letter[playerid],\"dfhgdfh\");
case 2: TextDrawSetString(Letter[playerid],\"sfsdg\");
case 3: TextDrawSetString(Letter[playerid],\"asdas\");
case 4: TextDrawSetString(Letter[playerid],\"asdafghs\");
case 5: TextDrawSetString(Letter[playerid],\"asdas\");
case 6: TextDrawSetString(Letter[playerid],\"asdfghas\");
case 8: TextDrawSetString(Letter[playerid],\"afghsdas\");
case 9: TextDrawSetString(Letter[playerid],\"asfdas\");
case 10: TextDrawSetString(Letter[playerid],\"afghsdas\");
case 11: TextDrawSetString(Letter[playerid],\"asdfdgas\");
case 12: TextDrawSetString(Letter[playerid],\"asdfsdfgas\");
case 13: TextDrawSetString(Letter[playerid],\"asddfgas\");
case 14: TextDrawSetString(Letter[playerid],\"asdfgdas\");
case 15: TextDrawSetString(Letter[playerid],\"adfgsdas\");
case 16: TextDrawSetString(Letter[playerid],\"asdfgdas\");
case 17: TextDrawSetString(Letter[playerid],\"asfdgdas\");
{
KillTimer(TalkTimer);
}
}

 
Na tehát az a baja ennek a szkriptnek hogy a case 15 után a többit nem játsza le. (tehát a case 16,17-et már nem..)
viszont ha, TextDrawSetString helyett SendClientMessage van akkor jó! Nem zavarja a textdraw-ot semmi mert nincs a szkriptbe több kód.. Megpuszilom ha valaki tudja.. :-* (ink kihagyom)..
« Utoljára szerkesztve: 2013. június 28. - 20:32:51 írta BoOy »

- Ismeretlen nevû hiba! -
« Válasz #1 Dátum: 2013. június 28. - 18:51:54 »
+1 Show voters
Az OnGameModeInit alatt gondolom minden játékosnak létrehozol egy textdrawot for ciklussal?
Lehet nem képes frissíteni a TextDrawSetString az üzenetet, régebbi samp verzióknál is volt ilyen hiba lehet ez kicsit javult mostanra de mégsem tökéletesen.
Próbaként rejtsd el a textdrawot, változtasd meg a tartalmát, majd jelenítsd meg.
Kódként:
 
    TalkTexts[playerid] ++;
    TextDrawHideForPlayer(playerid,Letter[playerid);
    switch(TalkTexts[playerid]) {
        case 1: TextDrawSetString(Letter[playerid],\"dfhgdfh\");
            case 2: TextDrawSetString(Letter[playerid],\"sfsdg\");
......
            case 17: TextDrawSetString(Letter[playerid],\"asfdgdas\");
            {
     
                    KillTimer(TalkTimer);
            }
    }
    TextDrawShowForPlayer(playerid,Letter[playerid);

 
Edit:
Használj CreatePlayerTextDraw-ot, és nem kell minden egyes játékosnak létrehozni OnGameModeInit alatt hanem pl.: csak az online játékosoknak csatlakozáskor.
« Utoljára szerkesztve: 2013. június 28. - 18:53:52 írta ɐʞzssǝlosz »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
- Ismeretlen nevû hiba! -
« Válasz #2 Dátum: 2013. június 28. - 20:32:22 »
0 Show voters
Jó lett köszönöm! *-*

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal