[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
  • Jeffry:
    Kannst du mir sagen, weshalb folgendes nicht funktioniert?



    object[7] = CreateObject(800, 2813.95898, 1002.33032, 54.82380, 0.00000, 0.00000, 180.00000);

    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == PlayerText:TDEditor_PTD[4][playerid])
    {
    new Float:X,Float:Y,Float:Z;
    MoveObject(object[7],X, Y, Z+5,2.0);
    }
    else if(playertextid == PlayerText:TDEditor_PTD[5][playerid])
    {
    new Float:X,Float:Y,Float:Z;
    MoveObject(object[7],X, Y, Z-5,2.0);
    }
    return 1;
    }

  • Weil X, Y und Z 0 sind (du weist ihnen keinen Wert zu).
    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == PlayerText:TDEditor_PTD[4][playerid])
    {
    MoveObject(object[7],2813.95898, 1002.33032, 54.82380+5,2.0);
    }
    else if(playertextid == PlayerText:TDEditor_PTD[5][playerid])
    {
    MoveObject(object[7],2813.95898, 1002.33032, 54.82380-5,2.0);
    }
    return 1;
    }

  • 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