[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ja ändert nix:
    COMMAND:jobholz(playerid,params[])
    {
    if(Spieler[playerid][pJob] == 0) return SendClientMessage(playerid,ROT,"Du hast noch keinen Job!");
    new cmd[15],string[129];
    if(sscanf(params,"s[15]",cmd)) return SendClientMessage(playerid,ROT,"Verwende: /job [start/stop]");
    if(Spieler[playerid][pJob] == 4)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,HOLZMANN)) return SendClientMessage(playerid,WEISS,"Du bist nicht in der Nähe des Waldes! (Haus)");
    ShowJobAnzeige(playerid);
    SetPlayerSkin(playerid,133);
    BaumWeg[playerid] = 0;
    ErstellungObjekteHolz(playerid);
    imHolzfaller[playerid] = true;
    SendClientMessage(playerid,GRAU,"");
    SendClientMessage(playerid,WEISS,"Schmeiß nun ein paar Bäume um! (Map Icon wurde gesetzt) - Zum Fällen am Baum 'Feuer Taste' drücken!");
    ERText(playerid,"Job gestartet~n~Schmeiss nun ein paar Baeume um!~n~Um den Job zu beenden, benutze:~n~/job",30000);
    PlayerTextDrawShow(playerid,Anzeige[playerid][0]);
    PlayerTextDrawShow(playerid,Anzeige[playerid][1]);
    format(string,sizeof(string),"Gefaellt:");
    PlayerTextDrawSetString(playerid,Anzeige[playerid][1],string);
    PlayerTextDrawShow(playerid,Anzeige[playerid][3]);
    PlayerTextDrawShow(playerid,Anzeige[playerid][2]);
    format(string,sizeof(string),"%i/10",BaumWeg[playerid]);
    PlayerTextDrawSetString(playerid,Anzeige[playerid][2],string);
    SetPlayerMapIcon(playerid, 74,2424.6169,-654.6063,125.4632, 19, 0, MAPICON_LOCAL);
    HolzStart[playerid] = 1;
    return true;
    }
    }
    if(strcmp(cmd,"stop",true) == 0)
    {
    SendClientMessage(playerid,WEISS,"Du hast den Job beendet!");
    DisablePlayerCheckpoint(playerid);
    JobMarker[playerid] = 0;
    KillTimer(JobTimer[playerid]);
    for(new i=0;i<4;i++){ PlayerTextDrawHide(playerid,Anzeige[playerid][i]); }
    SetPlayerSkin(playerid,Spieler[playerid][pSkin]);
    EntfernungJobVariable(playerid);
    UnFreeze(playerid);
    imHolzfaller[playerid] = false;
    if(Spieler[playerid][pJob] != 4) { SetPlayerVirtualWorld(playerid,0); SetPlayerInterior(playerid,0); }
    if(Spieler[playerid][pJob] == 4) { EntfernungObjekteHolz(playerid); DeleteVehicle(holzauto[playerid]); }
    }
    return true;
    }
    warning 209: function "cmd_jobholz" should return a value

  • Möglicherweise liegt der andere Fehler an diesem Klammerfehler.
    COMMAND:jobholz(playerid,params[])
    {
    if(Spieler[playerid][pJob] == 0) return SendClientMessage(playerid,ROT,"Du hast noch keinen Job!");
    new cmd[15],string[129];
    if(sscanf(params,"s[15]",cmd)) return SendClientMessage(playerid,ROT,"Verwende: /job [start/stop]");
    if(Spieler[playerid][pJob] == 4)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,HOLZMANN)) return SendClientMessage(playerid,WEISS,"Du bist nicht in der Nähe des Waldes! (Haus)");
    ShowJobAnzeige(playerid);
    SetPlayerSkin(playerid,133);
    BaumWeg[playerid] = 0;
    ErstellungObjekteHolz(playerid);
    imHolzfaller[playerid] = true;
    SendClientMessage(playerid,GRAU,"");
    SendClientMessage(playerid,WEISS,"Schmeiß nun ein paar Bäume um! (Map Icon wurde gesetzt) - Zum Fällen am Baum 'Feuer Taste' drücken!");
    ERText(playerid,"Job gestartet~n~Schmeiss nun ein paar Baeume um!~n~Um den Job zu beenden, benutze:~n~/job",30000);
    PlayerTextDrawShow(playerid,Anzeige[playerid][0]);
    PlayerTextDrawShow(playerid,Anzeige[playerid][1]);
    format(string,sizeof(string),"Gefaellt:");
    PlayerTextDrawSetString(playerid,Anzeige[playerid][1],string);
    PlayerTextDrawShow(playerid,Anzeige[playerid][3]);
    PlayerTextDrawShow(playerid,Anzeige[playerid][2]);
    format(string,sizeof(string),"%i/10",BaumWeg[playerid]);
    PlayerTextDrawSetString(playerid,Anzeige[playerid][2],string);
    SetPlayerMapIcon(playerid, 74,2424.6169,-654.6063,125.4632, 19, 0, MAPICON_LOCAL);
    HolzStart[playerid] = 1;
    return true;
    }
    if(strcmp(cmd,"stop",true) == 0)
    {
    SendClientMessage(playerid,WEISS,"Du hast den Job beendet!");
    DisablePlayerCheckpoint(playerid);
    JobMarker[playerid] = 0;
    KillTimer(JobTimer[playerid]);
    for(new i=0;i<4;i++)
    {
    PlayerTextDrawHide(playerid,Anzeige[playerid][i]);
    }
    SetPlayerSkin(playerid,Spieler[playerid][pSkin]);
    EntfernungJobVariable(playerid);
    UnFreeze(playerid);
    imHolzfaller[playerid] = false;
    if(Spieler[playerid][pJob] != 4)
    {
    SetPlayerVirtualWorld(playerid,0); SetPlayerInterior(playerid,0);
    }
    if(Spieler[playerid][pJob] == 4)
    {
    EntfernungObjekteHolz(playerid); DeleteVehicle(holzauto[playerid]);
    }
    }
    return true;
    }


    Wobei ich nicht weiß, ob die Abfrage so ist wie du sie willst, das musst du gegebenenfalls anpassen.

  • Hi,


    ich möchte gerne von meiner MySQL R5 auf die R38 umsteigen.
    Dabei ist ja sehr viel zu beachten.


    Meine Wichtigste frage lautet, ob der hier genannte Code trotzdem noch funktionieren würde oder ich diesen umschreiben müsste (Natürlich angepasst an die R38) :
    new str[512];
    format(str,sizeof str,"SELECT * FROM `accounts` WHERE `Name` = '%s'",pInfo[playerid][pName]);
    mysql_query(str);
    mysql_store_result();
    while(mysql_fetch_row(str)) {
    sscanf(str, "e<p<|>{i}s[24]{s[64]}dddddddds[64]ddddddddddddddddddddddddddddddddddddddddd>",pInfo[playerid]);
    }
    mysql_free_result();


    Jeffry:


    lg
    Deagle

  • Du kannst weiterhin mysql_query verwenden, und dann die cache Funktionen direkt danach, ohne Callback, allerdings ist das nicht empfohlen, da der Server eben auf die Antwort wartet, und somit solange steht, bis die Antwort im Cache ist.

  • Hi, wollte eine % Anzeige erstellen von 0% bis 100% Timer geht 10 sek heißt er soll in 10 sek 100% erreicht haben, nur leider zeigt er mir nur nach 10 sek 100% an die Schritte davor aber nicht.


    SetTimerEx("Ladebalken", 10000, true, "d", playerid);


    public Ladebalken(playerid)
    {
    ladebalken++;
    if(ladebalken == 1)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "0%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 2)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "6%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 3)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "18%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 4)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "32%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 5)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "54%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 6)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "62%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 7)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "79%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 8)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "86%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 9)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "93%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 10)
    {
    TextDrawSetString(Textdraw68, "100%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    TextDrawHideForPlayer(playerid, Textdraw47), TextDrawHideForPlayer(playerid, Textdraw48), TextDrawHideForPlayer(playerid, Textdraw49),
    TextDrawHideForPlayer(playerid, Textdraw50), TextDrawHideForPlayer(playerid, Textdraw0);
    }
    return 1;
    }


    Mfg