[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
  • Selbe Problem bzw es ist nichts zu sehen


    SA:MP in 2020?







  • SA:MP in 2020?

  • Hallo zusammen,


    da ich noch relativ frisch bin und dazu gerade nichts gefunden habe, würde ich gerne fragen ob es für den Server Performance Probleme gibt wenn man verschiedene Funktionen - Tor öffnen oder andere Kleinigkeiten in Filterscripts regelt ?


    Oder soll ich Objekte nur im Filterscripts laden lassen - keine kleineren Code Teile ?


    Grüße

  • Danke dir, Jeffry!


    Sorry für die doppelte Frage, es bezieht sich auf Buchstaben - Umlaute vom Script her aus.


    Geht speziell gerade um SendClientMessage mit format habe ich es auch schon getestet.


    Die werden bei mir nicht erkannt. Gibt es eine Möglichkeit dies zu ändern ?


    Habe da folgendes bisher gefunden:


    http://forum.sa-mp.com/showthread.php?t=397515


    Kann man das noch anders regeln ?


    EDIT: Habe festgestellt, dass es eventuell daran liegen kann, weil ich Sublime Text 3 verwende und nicht den Pawno Editor. Kann das sein ? Wenn ja - kann ich das in Sublime ändern ?


    EDIT2: Mit Pawno funktioniert es. Gibt es eine Lösung zu Sublime Text 3 oder was verwendet ihr für ein Editor ?


    EDIT3 ..... Einfach die Kodierung in Sublime auf Western Windows 1252 stellen und es funktioniert!


    David

  • Ich häng hier einfach fest.



    dcmd_gc(playerid,params[])
    {
    new text[256];
    new rang = sSpieler[playerid][Rang];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,Weiß,"Info: /gc (text)");
    if(sSpieler[playerid][Fraktion] == 1 || 2)
    {
    if(sSpieler[playerid][Rang] == rang)
    format(text,sizeof(text),"%s %s %s: %s",GetFraktionName(playerid),GetRangName(playerid),spielername,text);
    SendGangMessage(1&&2,Weiß,text);
    }
    return 1;
    }


    Wenn Fraktion 1 etwas tippt über den Befehl wird dies ausgegeben.
    Schreibt Fraktion 2 aber, passiert nichts.


    Und das:


    if(sSpieler[playerid][Fraktion] != 1 || 2) return SendClientMessage(playerid,Weiß,"Du bist in keiner Gang!");


    geht garnicht, weil man dann in keiner gang ist.


    Leaderchat und f funktioniert perefekt und funktioniert mit dem gleichen Prinzip

  • Code
    if(sSpieler[playerid][Fraktion] != 1 || sSpieler[playerid][Fraktion] != 2)

    Du musst das so machen


    Also:

    oder so


  • dcmd_gc(playerid,params[])
    {
    new text[256];
    new rang = sSpieler[playerid][Rang];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,Weiß,"Info: /gc (text)");
    if(sSpieler[playerid][Fraktion] != 1 || sSpieler[playerid][Fraktion] != 2) return SendClientMessage(playerid,Weiß,"Du bist in keiner Gang!");
    {
    if(sSpieler[playerid][Rang] == rang)
    format(text,sizeof(text),"%s %s %s: %s",GetFraktionName(playerid),GetRangName(playerid),spielername,text);
    SendGangMessage(1&&2,Weiß,text);
    }
    return 1;
    }


    Hab beide Sachen Probiert, bei beiden Fraktionen kommt nur du bist in keiner gang.



    dcmd_lc(playerid,params[])
    {
    new text[256];
    new leaderid = sSpieler[playerid][Leader];
    new leadername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,leadername,sizeof(leadername));
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,Weiß,"/lc (text)");
    if(sSpieler[playerid][Leader] < 1) return SendClientMessage(playerid,Weiß,"Du bist kein Leader!");
    if(sSpieler[playerid][Leader] == 1)
    {
    format(text,sizeof(text),"Grove Leader %s: %s",leadername,text);
    SendLeaderMessage(leaderid,Weiß,text);
    }
    if(sSpieler[playerid][Leader] == 2)
    {
    format(text,sizeof(text),"Ballas Leader %s: %s",leadername,text);
    SendLeaderMessage(leaderid,Weiß,text);
    }
    if(sSpieler[playerid][Leader] == 3)
    {
    format(text,sizeof(text),"LSPD Leader %s: %s",leadername,text);
    SendLeaderMessage(leaderid,Weiß,text);
    }
    if(sSpieler[playerid][Leader] == 4)
    {
    format(text,sizeof(text),"Medic Leader %s: %s",leadername,text);
    SendLeaderMessage(leaderid,Weiß,text);
    }
    if(sSpieler[playerid][Leader] == 5)
    {
    format(text,sizeof(text),"Fahrschul Leader %s: %s",leadername,text);
    SendLeaderMessage(leaderid,Weiß,text);
    }
    if(sSpieler[playerid][Leader] == 6)
    {
    format(text,sizeof(text),"Transport GmbH Leader %s: %s",leadername,text);
    SendLeaderMessage(leaderid,Weiß,text);
    }
    return 1;
    }


    bei lc funktioniert das ohne probleme

  • wo liegt mein Fehler?

    ich bekomm diese Fehler:
    error 018: initialization data exceeds declared size
    error 010: invalid function or declaration


    diese Fehler sind in der drittletzten und letzten Zeile.


    Wundert euch nicht bei den Kordinaten

  • Warum werden die Autos nicht gelöscht?


  • Nutze dafür diese Funktion:
    stock IsAnyPlayerInVehicle(vehicleid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerVehicleID(i) == vehicleid) return 1;
    }
    return 0;
    }


    Und dann so:
    for(new i=0; i < sizeof(yakuzacar); i++) if(!IsAnyPlayerInVehicle(yakuzacar[i])) DestroyVehicle(yakuzacar[i]);

  • Hi, wollte das TSConnector Plugin Testen aber wenn ich auf dem TS bin und InGame /Rechte eingebe Passiert nichts.
    Evtl Nützlicher Code:
    Befehl:
    ocmd:rechte(playerid,params[])
    {
    TSC_SendClientMessage(PlayerInfo[playerid][pTSUID], "Du hast dir Erfolgreich Rechte gegeben!");
    SCM(playerid,COLOR_GREEN,"Rechte?");
    return 1;
    }


    Eindeutige UserId Setzen:
    case DIALOG_TS3:
    {
    new query[200];
    if(!response)return true;
    new ts3id = strval(inputtext);
    format(query,sizeof(query),"UPDATE "AccTable" SET `TS_UID` = '%s' WHERE UserId = '%d'",ts3id,GetPVarInt(playerid,"pDbID")); mysql_query(query);
    format(string,sizeof(string),"Du hast deine Ts3 Identität auf %d Geändert",ts3id);
    SCM(playerid,COLOR_GREEN,string);
    PlayerInfo[playerid][pTSUID] = ts3id;
    SCM(playerid,COLOR_GREEN,"Du hast dir Rechte gegeben!");
    }

    • Offizieller Beitrag

    Die Funktion str_replace gibt mir leider einen Fehler in der Console aus.
    Folgenderweise verwende ich die Funktion:


    Code
    new number[20];
    format(number, sizeof number, str_replace(" ", "", inputtext));


    Folgendes wird im Dialog angegeben: 00 11 22 33 44


    Hierbei sind die Zahlen irrelevant, es geht um das Format. Egal welche Zahlenkombination ich verwende, der Fehler bleibt.
    Bei folgenden Kombinationen: 00 11223344 oder auch 00 11 223344 erhalte ich kein Fehler.


    Folgender Fehler wird ausgegeben:
    Run time error 10: "Native function failed"
    strins
    Rest irrelevant.


    Vielleicht weiß ja einer bescheid.