[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
  • Ich habe das einfach korrigiert und etwas kürzer geschrieben.
    Die anderen Fehler hätte er auch selber finden können ;)


  • Warum zeigt es mir nur einen Teil der Box an ???



    CMD:teambefehle(playerid, params[])
    {
    if(GetPVarInt( playerid, "Level" ) < 0 ) return SendClientMessage(playerid, -1, "Du musst mindestens ein "COLOR_BLUE"Supporter {FFFFFF}sein, um diese Funktion nutzen zu können.");


    new CBox[912];
    format(CBox, sizeof CBox, "{FFFFFF}Folgende Befehle stehen zur Verfügung:\n\n\n\
    Level 0 - ( "Level0" )\n\
    /cmd1 /cmd2 /cmd3\n\n\
    Level 1 - ( "Level1" )\n");

    format(CBox, sizeof CBox, "/cmd1 /cmd2 /cmd3\n\n\
    Level 2 - ( "Level2" )\n\
    /cmd1 /cmd2 /cmd3\n\n");

    format(CBox, sizeof CBox, "%sLevel 3 - ( "Level3" )\n\
    /cmd1 /cmd2 /cmd3\n\n\
    Level 4 - ( "Level4" )\n");

    format(CBox, sizeof CBox, "/cmd1 /cmd2 /cmd3\n\n\
    Level 5 - ( "Level5" )\n\
    /cmd1 /cmd2 /cmd3\n\n");

    format(CBox, sizeof CBox, "%sLevel 6 - ( "Level6" )\n\
    /cmd1 /cmd2 /cmd3\n\n", CBox);

    ShowPlayerDialog( playerid, INFO_BOX, DIALOG_STYLE_MSGBOX, "Team Befehle", CBox, "Schließen", "");
    return 1;
    }


    (Mache so oft format, da Errors kommen werden, wenn ich Farben benutze)

  • Andreaas: Die Variable hat nur eine Größe von 912 Zeichen, der Text hat aber 988 Zeichen, daher wird der Text abgeschnitten.
    Außerdem überschreibst Du mir jedem Format die Variable.


    Mach es ab dem zweiten Format nach diesem Beispiel:
    format(CBox, sizeof CBox, "%s\nTEXT", CBox);


    //E: Sehe gerade sogar noch, dass noch mehr falsch ist.


    Du machst innerhalb der Anführungszeichen noch mal Anführungszeichen, was nicht funktionieren kann.

  • Hey Leute, ich wollt einen Text über dem Spieler für 30s erscheinen lassen, wenn er Spawnt & Spawn Protection hat.

    public OnPlayerRequestSpawn( playerid )
    {
    SetPlayerChatBubble(playerid, Spawnschutz, 0xc1c1c1FF, 10.0, 1000*30);
    return 1;
    }

    Why ist Spawnschutz undefiniert ? Ist das der Text der über dem Spieler sein sollte ?

  • Ja das ist mir klar, aber wie kann ich die Zeit denn auf 0 setzten oder sowas damit der Text verschwindet ?


    Setz seine "ChatBubble" einfach auf einen leeren String, sprich einfach nur zweimal " anstatt "Spawnschutz"


    So hier:

    SetPlayerChatBubble(playerid,"", 0xc1c1c1FF, 10.0, 1000);



    //Handy

  • Ich weiß aufjedenfall das dass möglichs ist..


    Ohne ein extra Plugin, dass gegen die Auflagen der SA-MP Lizenz verstößt, wohl eher nicht ;)


    Was du meinen könntest ist der gpci Hash...aber das ist nur ein Hash aus dem Windows Benutzernamens des Computers, wo der Client gerade connectet.


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hallo Jungs und Mädels,
    ich habe da ein kleines Problem, undzwar möchte ich das das Geld von der Fkasse abgezogen wird und nicht vom Spieler.
    Außerdem möchte ich das nur Frak's die Genug Geld haben die Cars kaufen können, jedoch können Gangs/Fraks mit 50$ in der Fkasse alle autos kaufen.


    Hier mal der Code :



    forward FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
    public FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    if(dialogid == DIALOG_FACTION_CAR_BUY){
    if(response){
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    }
    if(!response){
    new fraktion = GetPlayerFaction(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
    if(GetFactioncarsOfFaction(GetPlayerLeader(playerid)) < MAX_BUY){
    new Carid1 = GetPlayerVehicleID(playerid);
    for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
    if(Carid1 == FactionBuylist[fbl][fbCarid]){
    if(FraktionsKasse[fraktion] >= FactionBuylist[fbl][fbPrice]){
    //if(CallRemoteFunction("Script_GetPlayerMoney","i",playerid) >= FactionBuylist[fbl][fbPrice]){
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
    FactionCars[fc][fVehid] = FactionBuylist[fbl][fbVehid];
    FactionCars[fc][fPos][0] = FactionBuySpawn[0];
    FactionCars[fc][fPos][1] = FactionBuySpawn[1];
    FactionCars[fc][fPos][2] = FactionBuySpawn[2];
    FactionCars[fc][fPos][3] = FactionBuySpawn[3];
    new Color[2];
    GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
    FactionCars[fc][fCol][0] = Color[0];
    FactionCars[fc][fCol][1] = Color[1];


    FactionCars[fc][fPrice] = FactionBuylist[fbl][fbPrice];
    for(new slot;slot<14;slot++)
    FactionCars[fc][fTuning][slot] = 0;
    FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
    print(">>> Nach dem Autoerstellen!");
    #if defined FACTION_CARS_LOCKABLE
    fLockCar(FactionCars[fc][fCarid]);
    FactionCars[fc][fLocked] = true;
    #endif
    for(new f;f<5;f++)
    {
    FactionCars[fc][fFaction][f] = -255;
    }
    FactionCars[fc][fFaction][0] = GetPlayerLeader(playerid);
    PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);

    FraktionsKasse[fraktion] -= FactionBuylist[fbl][fbPrice];


    //CallRemoteFunction("Script_SetPlayerMoney","id",playerid,(CallRemoteFunction("Script_GetPlayerMoney","i",playerid)-FactionBuylist[fbl][fbPrice]));
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Glückwunsch zum neuen Fahrzeug.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Bitte vergesse nicht das Fahrzeug mit: '/fpark' umzuparken.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Das Fahrzeug steht am Ausgabepunkt bereit!");
    return 1;
    }
    }SendClientMessage(playerid,FACTION_COL_GREY,"Die maximale Anzahl von Fraktionsfahrzeugen ist bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Ihr habt nicht genug Geld in eurer Fkasse.");
    break;
    }
    }
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion hat das Limit von Fahrzeugen bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    }
    }return 1;
    }return 0;
    }



    Kann mir jemand sagen warum das nicht klappt ?


    MfG Saphire

  • Wie kann man die Vehicle DL hoch stellen?



    public OnVehicleSpawn(vehicleid)
    {
    if(vehicleid == 21) {
    SetVehicleHealth(vehicleid, 5000.0);
    }
    if(vehicleid == 22) {
    SetVehicleHealth(vehicleid, 5000.0);
    }
    return 1;
    }


    funktioniert nicht ;(

  • Hey, weiß jemand welches MySQL-Plugin das Beste ist? Weil es gibt ja mittlerweile viele Versionen davon oder?


    Das von strickenkid und das von dem Dean sind quasi veraltet. ich würde das von BlueG/maddinat0r empfehlen und davon die neuste Version , diese wäre R39


    Wenn ich die Plugins nach einem Ranking bewerten müsste ergäbe sich folgende Anordnung.


    1. https://github.com/pBlueG/SA-MP-MySQL/releases
    2.http://forum.sa-mp.com/showthread.php?t=429464
    3.http://forum.sa-mp.com/showthread.php?t=122983

  • Abend,


    bekomme hier immer nen Tag missmatch Fehler:


    Spoiler anzeigen
    C:\Users\Björn\Desktop\United Server\gamemodes\selfmade.pwn(190) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    1 Warning.


    [pwn='190']if(!strlen(inputtext) < 6)return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registrieren", "Das angegebene Passwort war zu kurz (Mind. 6 Zeichen)\nBitte gebe ein Passwort ein\n"COLOR_RED_HTML"Beachte: "COLOR_ORANGE_HTML"Wir werden nie nach Ihren Passwort fragen.", "Registrieren", "Verlassen");[/pwn]


    Aber ich finde keinen Fehler (Nein das "COLOR_RED_HTML" ist nicht falsch, hab es auch schon ohne probiert). Tue ich die Zeile auskomentieren, ist kein Fehler da :S