[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
  • Das 2te Else if wird nie ausgelöst. Musst beim 1sten Else if eine 2te Condition einbauen

    Code
    if(skin[playerid] < 280) skin[playerid]; //falls alter skin unter 280 ist
    else if(skin[playerid] >  287 && skin[playerid] <= 310) skin[playerid] = 303; //soll skinid 202-310 überspringen
    else if(skin[playerid] >  310) skin[playerid] = 280;//wieder von vorne anfangen
    SetPlayerSkin(playerid, skin[playerid]);

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Hey, habe ein kleines Problem.


    Ich kann per Shop ein Skin kaufen, doch wenn ich der Runde beitrete, erhalte ich meinen alten Skin (siehe Video)



    new cQuery[256];
    SpawnPlayer(playerid);
    SetPlayerSkin(playerid, pData[playerid][P_Skin]);
    TogglePlayerAllDynamicAreas(playerid, 0);
    TogglePlayerDynamicArea(playerid, ZoneInfo[Round[r_areaid]][z_Ids], 1);
    GangZoneShowForPlayer(playerid, ZoneInfo[Round[r_areaid]][z_id], GangZoneColor); //Gangzone color 6



    format(cQuery, sizeof(cQuery), "{%06x}%s{FFFFFF} joined the round {00FF00}back!", GetPlayerColor(playerid) >>> 8, GetName(playerid));
    SendClientMessageToAll(-1, cQuery);
    IsInLobby[playerid] = false;


    Video:



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Gehe mal davon aus das vllt hier falsch geseddet wird ? also beim Skin kaufen
    pData[playerid][P_Skin]


  • if(dialogid == D_BuySkin) {
    if(response) {
    if(!IsNumeric(inputtext)){
    SendClientMessage(playerid, COLOR_RED, "Only numbers here!");
    ShowPlayerDialog(playerid, D_BuySkin, DIALOG_STYLE_MSGBOX, "Dialog buy skin", "Type your skin ID", "Buy", "Cancel");
    return 1;
    }



    SetPlayerSkin(playerid, strval(inputtext));
    pData[playerid][P_Weed] -= SKIN_PRICE;
    SaveAccount(playerid);
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Guten Morgen allerseits ich brauche mal ein Kleinen Denkstoß ich wollte meine BetaCode's aus meiner Datenbank auslesen lassen und in ein Dialog anzeigen lassen bin aber gerade Ratlos wie ich das mache.


    Meine Datenbank
    Tabelle: betacode
    Spalten: CodeID ( Primary ),Code,Aktiviert,Spieler


    Mit freundlichen Grüßen
    reaL.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Meinst du das so, das du alle Beta Codes in der Datenbank als Dialog angezeigt bekommst? Falls ja, dann so:


    Wenn du aber nur die Daten von einem bestimmten Spieler auslesen möchtest, dann musst du hiner FROM `betacode` noch WHERE `Spieler`='%e' einfügen, und dann nach "i" noch "s" und nach "playerid" noch den Namen. ;)

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: //Problem ().
  • Bin ich gerade zu Blöde ?
    Es kommt immer dass Ich dieses Fahrzeug nicht fahren darf da ich nicht in der Fraktion bin
    [07.08.2016 - 16:14:06] 1 0 1



  • Code
    if(PlayerInfo[playerid][pMember] == FFahrzeugInfo[vid][fFrakID] || PlayerInfo[playerid][pLeader] == FFahrzeugInfo[vid][fFrakID])

    Sonst musst du ja immer Leader und Member sein.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Ich weiß ja nicht ob er der Code in einer Schleife ist oder nicht, falls ja, dann setze diesen Code außerhalb (nach) der Schleife:

    C
    return SendClientMessage(playerid,COLOR_GRAU,"Du kannst dieses Fraktionsfahrtzeug nicht Fahren da du nicht in der Fraktion bist.");
  • Bin ich gerade zu Blöde ?
    Es kommt immer dass Ich dieses Fahrzeug nicht fahren darf da ich nicht in der Fraktion bin
    [07.08.2016 - 16:14:06] 1 0 1



    Kannst auch einfach so was hier machen:


    Code
    if(PlayerInfo[playerid][pMember] != FFahrzeugInfo[vid][fFrakID] && PlayerInfo[playerid][pLeader] != FFahrzeugInfo[vid][fFrakID]) return SendClientMessage(playerid,COLOR_GRAU,"Du kannst dieses Fraktionsfahrtzeug nicht Fahren da du nicht in der Fraktion bist.");
    if(FFahrzeugInfo[vid][fCarRang] > PlayerInfo[playerid][pRang]) return SendClientMessage(playerid,COLOR_GRAU,"Du hast nicht den Entsprechenden Rang um das Fahrzeug zu Fahren.");

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Wie nutzt man den UNIX Timestamp eig. richtig und für was ist dieser da ?
    Man nutzt ihn ja z.B. für einen TimeBan oder sowas. Jedoch, wie nutzt man den ? Er gibt ja die Sekunden aus und keine Zeit oder sowas..
    Bitte um kurze Erläuterung



    Grüße

  • Du musst alles mit den Sekunden rechnen, sprich, wenn du jemand für eine Stunde sperren willst, würde das so aussehen:
    gesperrtBis[playerid] = gettime() + (60 * 60); //60 Sekunden * 60 Minuten


    Und die Abfrage:
    if(gesperrtBis[playerid] > gettime()) //noch gesperrt



    Beachte, dass der Wert natürlich in einer Datenbank oder ähnlichem gespeichert werden müssen und beim Login geladen werden müssen.


    Siehe auch: http://forum.sa-mp.com/showthread.php?t=254915%5D

  • Ich wollte gerne meine Fraktionen die in der Datenbank hinterlegt sind mal Anzeigen lassen aber irgendwie klappt es nicht :/
    ocmd:listfraktionen(playerid,params[])
    {
    if(!cache_num_rows())return 1;
    new fID[sizeof(sInfo)],fName[128][sizeof(sInfo)], string[128];
    format(string,sizeof string,"Name\tID\n");
    for(new i = 0; i < cache_num_rows(); i++)
    {
    fID[i] = cache_get_field_content_int(i,"ID",dbhandle);
    cache_get_field_content(i,"name",fName[i],dbhandle,128);
    format(string,sizeof string,"%s\t%i\n",fName[i],fID[i]);
    }
    ShowPlayerDialog(playerid, DIALOG_FRAKLISTE, DIALOG_STYLE_LIST, "Fraktionen-Liste",string,"Ok", "Schließen");
    return 1;
    }

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