[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
  • stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_function_query(mysqlconnect, query, false, "", "");
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    Wie wird so ein return des Wertes in einem MySQL Plugin R7 gemacht, da mysql_fetch_int nicht mehr existiert seit der R7.

  • 2 kleine Fragen hätte ich noch, was bedeutet das + ?


    Und wie funktioniert dass hier? radbmx[playerid] && KillTimer(Radbmxtimer(playerid)) || KillTimer(Radmoutimer(playerid));
    Würde ja bedeuten radbmx UND Killtimer von Radbmx ODER Killtimer Radmou


    Dann würde man ja das radmou gar nicht abfragen


    Das + bedeutet das du die zwei werte addierst sollte radmou[playerid] und radbmx[playerid] zusammen 0 ergibt kann man sich sicher sein das keiner der beiden variablen einen wert zugewiesen bekommen hat.



    radbmx[playerid] && KillTimer(Radbmxtimer(playerid)) || KillTimer(Radmoutimer(playerid));
    Man kann Abfragen vereinfachen durch logische Operatoren, es ist zwar ungewöhnlich kann man jedoch machen.
    Würde vom Syntax so aussehen:


    (Bedingung) && Wird ausgeführt, wenn die Bedingung Wahr ist || Wird ausgeführt, wenn die Bedingung nicht war ist.


    Es ist quasi die Kurzform davon:


    if(radbmx[playerid] )
    {
    KillTimer(Radbmxtimer(playerid));
    }
    else
    {
    KillTimer(Radmoutimer(playerid));
    }


    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


    @CHAOS346


    Dies ist nicht mehr möglich.


    Tutorials :


    Normal:
    MySQL R38 - Simples Anmeldung´s System
    ORM:
    http://gta-sa-mp.de/forum/3-sa…ials/1424-das-orm-system/


    Dokumentation:
    http://wiki.sa-mp.com/wiki/MySQL/R33

  • Okay, aber was ich noch nicht verstehe ist,
    wieso ist radbmx[playerid] die Bedingung? da steht ja nur die VehicleID drin


    Du frägst hier auch ab
    if(radmou[playerid]!=0)
    ob radmou[playerid] alles außer 0 ist.


    Die Bedingung ist das radmou[playerid] alles außer 0 ist.


    Hier wird erst mal abgefragt ob die Variablen nicht 0 ist

    if((radmou[playerid] + radbmx[playerid]) == 0)


    wenn wir nun weiter gehen im Code wissen wir das radmou oder radbmx einen wert hat und durch die folgende Zeile finden wir das herraus,


    radbmx[playerid] && KillTimer(Radbmxtimer(playerid)) || KillTimer(Radmoutimer(playerid));


    sollte radbmx[playerid] einen wert haben außer 0 wird der Timer Radbmxtimer(playerid); gestoppt , sollte dies nicht zutreffen kann es sich ja nur um den anderen Timer handeln.


    @CHAOS346


    Wie bereits erwähnt ist die Funktion so nicht möglich( du musst dein ganzes Lade-System umschreiben) und in den Tutorials bzw in der Dokumentation wird das ganze beschrieben.

  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Hallo,
    ich hab das Problem das meine Weedpflanze im Boden bugt, kann wer Helfen?


    WeedInfo[i][WeedObject] = CreateObject(3409,X,Y,Z-2.4,0,0,A,0);


    Vllt Jeffry: Oder wer anders?


    Lg

  • if(strcmp(cmd, "/alarm", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLeader] == 3)
    {
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInRangeOfPoint(player,800.0,206.9460,1921.8147,17.6406))
    {
    SendClientMessage(playerid,player,"Es wurde Alarm ausgelöst. Verschwinde schnell aus der Gefahrenzone!");


    }
    }
    SendClientMessage(playerid,COLOR_RED,"Der Alarm wurde ausgelöst.");
    return 1;
    }
    }
    return 1;
    }



    Um es kurz zu machen: Hier gibt es einen Klammerfehler, Pawno stürzt ab.

  • Hallo Breadfish.


    Mein kleines Problem bzw meine Frage ist, wieso wird der Name des Fahrers nicht angezeigt? egal wie ich es mache es bleibt einfach im Textdraw leer.
    es kommt nicht einmal "Fahrer: "

    Spoiler anzeigen
    public check_taxi(playerid,fahrerid)
    {
    new say[128],say1[128],say2[128],say3[128], kosten, Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);

    Spoiler anzeigen
    new Float:dist = floatsqroot(((player_pos[playerid][0]-x)*(player_pos[playerid][0]-x))+((player_pos[playerid][1]-y)*(player_pos[playerid][1]-y))+((player_pos[playerid][2]-z)*(player_pos[playerid][2]-z)));
    player_distance[playerid]+=dist;

    Spoiler anzeigen
    player_pos[playerid][0] = x;
    player_pos[playerid][1] = y;
    player_pos[playerid][2] = z;
    payed[playerid] = floatround(player_distance[playerid]/500.0) * player_preis[fahrerid] + player_preis[fahrerid];

    Spoiler anzeigen
    new geld = GetPlayerMoney(playerid);
    if(geld < kosten) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, warn, "Du hast nicht genug Geld!"),SendClientMessage(fahrerid, info, "Spieler hat nicht genug Geld!");
    if(payed[playerid] > oldpayed[playerid])
    {
    kosten = payed[playerid] - oldpayed[playerid];
    oldpayed[playerid] = payed[playerid];
    GivePlayerMoney(playerid,-kosten);
    GivePlayerMoney(fahrerid,kosten);
    }
    //_______________Fahrer______________//
    new fname[MAX_PLAYER_NAME];
    GetPlayerName(fahrerid,fname,sizeof(fname));
    PlayerTextDrawShow(fahrerid, Textwarn[fahrerid]);
    PlayerTextDrawShow(fahrerid, Textstatus[fahrerid]);
    PlayerTextDrawShow(fahrerid, Textzustand[fahrerid]);
    PlayerTextDrawShow(fahrerid, Job[fahrerid]);
    PlayerTextDrawShow(fahrerid, Job1[fahrerid]);
    PlayerTextDrawShow(fahrerid, StatusJob[fahrerid]);
    format(say,sizeof say,"~w~Gast: ~y~%s",SpielerName(playerid));
    format(say1,sizeof say1,"~w~Gehalt: ~g~%d$",payed[playerid]);
    format(say2,sizeof say2,"~w~Status: ~y~Taxi-System");
    format(say3,sizeof say3,"~w~Kilometer: ~y~---");
    PlayerTextDrawSetString(fahrerid,Textwarn[fahrerid],say);
    PlayerTextDrawSetString(fahrerid, Textzustand[fahrerid],say1);
    PlayerTextDrawSetString(fahrerid,StatusJob[fahrerid],say2);
    PlayerTextDrawSetString(fahrerid,Textstatus[fahrerid],say3);
    //________________Passagier____________//
    PlayerTextDrawShow(playerid, Textwarn[playerid]);
    PlayerTextDrawShow(playerid, Textstatus[playerid]);
    PlayerTextDrawShow(playerid, Textzustand[playerid]);
    PlayerTextDrawShow(playerid, Job[playerid]);
    PlayerTextDrawShow(playerid, Job1[playerid]);
    PlayerTextDrawShow(playerid, StatusJob[playerid]);
    format(say,sizeof say,"~w~Fahrer: ~y~%s ",fname);//Hier auch schon mit SpielerName(fahrerid); versucht geht nicht
    format(say1,sizeof say1,"~w~Kosten: ~r~%d$",payed[playerid]);
    format(say2,sizeof say2,"~w~Status: ~y~Taxi-System");
    format(say3,sizeof say3,"~w~Kilometer: ~y~---");
    PlayerTextDrawSetString(playerid,Textwarn[playerid],say);
    PlayerTextDrawSetString(playerid,Textzustand[playerid],say1);
    PlayerTextDrawSetString(playerid,StatusJob[playerid],say2);
    PlayerTextDrawSetString(playerid,Textstatus[playerid],say3);
    return 1;
    }



    Hoffentlich findet ihr den Fehler.



    Mit freundlichen Grüßen
    Jeffry:



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Nach dem Spieler Spectaten wieder an die Alte Position zurückkehren aber wie?


    ocmd:specoff(playerid, params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    TogglePlayerSpectating(playerid, 0);
    Specting[playerid] = false;
    }
    return 1;
    }

  • Indem du die Position des Spielers (+Interior & VirtualWorld ggf) zu Beginn des Spectatens abspeicherst und ihn dann wieder an diese gespeicherte Position stellst.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Das hätte ich mir fast gedacht :D nur wie mache ich sowas?


    Das hier beim Spectate Befehl:
    new Float:POS[3], Interior[MAX_PLAYERS], vWorld[MAX_PLAYERS];
    GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
    Interior[playerid] = GetPlayerInterior(playerid);
    vWorld[playerid] = GetPlayerVirtualWorld(playerid);


    ocmd:specoff(playerid, params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(Specting[playerid] == true)
    {
    TogglePlayerSpectating(playerid, 0);
    Specting[playerid] = false;
    SetPlayerPos(playerid, POS[0], POS[1], POS[2]);
    SetPlayerInterior(playerid, Interior[playerid]);
    SetPlayerVirtualWorld(playerid, vWorld[playerid]);
    }
    }
    return 1;
    }

  • @0x0040FB80:
    Muss dann nicht beim Spec befehl auch was rein?



    ocmd:spec(playerid,params[])
    {
    new pID;
    if(PlayerInfo[playerid][pAdmin] >= 1)
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Benutzung: /spec [Spieler]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, -1, "Der Spieler konnte nicht gefunden werden.");
    if(IsPlayerInAnyVehicle(pID))
    {
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(pID));
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pID));
    SetPlayerInterior(playerid, GetPlayerInterior(pID));
    SpectedID = pID;
    Specting[playerid] = true;
    return 1;
    }
    else
    {
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, pID);
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pID));
    SetPlayerInterior(playerid, GetPlayerInterior(pID));
    SpectedID = pID;
    Specting[playerid] = true;
    return 1;
    }
    }

  • Wo kommt das hier hin:


    new byShenzo1 = CreateObject(6488, 723.09381, -1144.20313, 24.50000, 0.00000, 0.00000, 0.00000);
    SetObjectMaterial(byShenzo1, 14, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    SetObjectMaterial(byShenzo1, 15, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    new byShenzo2 = CreateObject(6487, 713.56250, -1236.21875, 17.82030, 0.00000, 0.00000, 0.00000);
    SetObjectMaterial(byShenzo2, 0, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    SetObjectMaterial(byShenzo2, 1, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    SetObjectMaterial(byShenzo2, 2, 18202, "w_towncs_t", "hatwall256hi", 0xFFFFFFFF);
    SetObjectMaterial(byShenzo2, 3, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    SetObjectMaterial(byShenzo2, 4, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    new Stadtpark1 = CreateObject(8661, 746.61572, -1277.12708, 12.56920, 0.00000, 0.00000, 90.00000);
    SetObjectMaterial(Stadtpark1, 0, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    new Stadtpark2 = CreateObject(8661, 766.59271, -1277.10706, 12.56720, 0.00000, 0.00000, 90.00000);
    SetObjectMaterial(Stadtpark2, 0, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    new Stadtpark3 = CreateObject(8661, 746.61572, -1237.13525, 12.56050, 0.00000, 0.00000, 90.00000);
    SetObjectMaterial(Stadtpark3, 0, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);
    new Stadtpark4 = CreateObject(8661, 766.59497, -1237.12390, 12.56920, 0.00000, 0.00000, 90.00000);
    SetObjectMaterial(Stadtpark4, 0, 5735, "studio01_lawn", "Grass_128HV", 0xFFFFFFFF);

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen