Beiträge von Kaliber

    Mir war gerade langweilig und habe mal einen Lustigen Code geschrieben, der es möglich machen würde in einer SendClientMessage $variablen zu verwenden wie in PHP :D


    Sähe dann so aus:



    stock ScmEx(playerid, farbe, format[])
    {
    new z = strfind(format, "$", true);
    if(z > 0)
    {
    new x[64], y;
    x = _strtok(format, z);
    y = (z+1);
    z -= strlen(x);
    strdel(format, z, y);
    strdel(x, 0, 1);
    new text[128];
    strcat(text, "Gustav", sizeof text);
    strins(format, text, z, sizeof text);
    SendClientMessage(playerid, farbe, format);
    return 1;
    }
    else return SendClientMessage(playerid, farbe, format);
    }


    Hier mal ein Beispiel zur Anwendung:


    ScmEx(playerid, rot,"Herzlich willkommen $name !");


    In meinem Codeschnipsel habe ich eine konstante Variable die den Namen regelt, anstatt $name würde dann "Gustav" da stehen :D


    und da ist der Punkt leider kann man das nicht als Include machen, da man den Wert der Variable herbekommen muss, bzw. sie übergeben muss und das erfordert mehr Zeilen Code als ein einfaches format :S


    Naja, trotzdem viel Spaß damit :D


    mfg. :thumbup:

    Schreibe das mal so:


    if (strcmp("/myperso", cmdtext, true) == 0)
    {
    if(GetPVarInt(playerid,"Perso") == 0) return SendClientMessage(playerid,ROT,"Du benötigst einen Personalausweiß!");
    new string[128], name[24], ftext[9];
    GetPlayerName(playerid, name, 24);
    new level = SAccount[playerid][Fraktion];
    if(level == 0) {ftext= "Zivilist"; }
    if(level == 1) {ftext= "LS-PD"; }
    if(level == 2) {ftext= "Medic"; }
    if(level == 3) {ftext= "Ballas"; }
    if(level == 4) {ftext= "Ordnungsamt"; }
    if(level == 5) {ftext= "Grove Street"; }
    if(level == 6) {ftext= "Vagos"; }
    if(level == 7) {ftext= "Keine Angabe"; }
    if(level == 8) {ftext= "Yakuza"; }
    format(string,sizeof(string),"Name: %s\n Alter: %d\n Fraktion: %s\n Herkunft: Los Santos",name,SAccount[playerid][Alter],ftext);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Dein Personalausweiss",string,"OK","");
    return 1;
    }
    SAccount[playerid][Alter] noch bitte auf deins anpassen in der Formatierung ;)


    mfg. :thumbup:

    aber das läuft ja per Mysql würde es trotzdem gehen ja oder?


    Er speichert nix ab, er zeigt dir doch nur wie man einen Befehl erstellt, was übrigens völlig egal ist, da er nach diesem stock sucht den er anscheinend nicht hat :D


    In diesem Sinne, der Befehl speichert rein gar nichts ;)


    mfg. :thumbup:

    /saveaccounts wäre eine gute Möglichkeit, jegliche Probleme mit dem speichern zu lösen, oder bei einem Gmx.


    Eben ganz und gar nicht :D


    User sind nicht sehr helle und wenn einer z.B. das mal vergessen sollte hat er z.B. sein neu gewonnenes Geld verloren...


    Callbacks hingegen vergessen nichts und speichern gezielt und besser als User :)


    mfg. :thumbup:

    Kaliber und wie funzt das dann bei dir ohne Carid?
    Muss man da in der Nähe sein? Oder drinne sitzen?


    Nein, ich arbeite mit einer sogenannten globalen Variable, du schreibst das oben in dein Script die Variable und gibst ihr in deinem /veh Befehl den Wert und den hast du in deinem /del Befehl wieder ^^


    Habe oben doch ein Beispiel gemacht ;)


    mfg. :thumbup:


    Bei meinem Befehl muss man auch nicht im Auto sitzen ^^


    und bei deinem Befehl ist einfach der FAIL, dass der Spieler jetzt jedes Auto, egal von wem zerstören kann ;)


    mfg. :thumbup:

    Hm..den delete befehl habe ich auch noch nicht :/


    8|


    Einfach sowas machen:


    if(!strcmp(cmdtext, "/delveh", true))
    {
    DestroyVehicle(car[playerid]);
    return 1;
    }



    Nein, so geht das nicht, dann würde er nämlich jedes Auto löschen in dem er drinnen sitzt und nicht nur das, was er mit /veh erstellt hat ^^


    mfg. :thumbup: