Beiträge von K3nNy

    ShowPlayerDialog(id, DialogID, Dialog_Style, "Überschrift", "Text des Dialoges", "Button 1", "Button 2");
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Überschrift)
    {
    if(response == 1)
    {
    //Code
    }
    }
    }


    So kannst du einen Code ausführen, wenn du den Button 1 drückst

    Kann man Varibablen erstellen, die nicht nur für ein Filterscript/Gamemode gelten, sondern für alle?
    Wenn ja wie? Ich habe keine Lust, alles ist ein Script zu packen... das wird so unübersichtlich...

    Hey Leute,
    ich habe folgendes Problem:
    Ich habe mir einen Waffenspawner gebastelt, der die Waffen auch nach Waffenname spawnen soll.
    Leider gibt mir mein Compiler immer eine Fehlermeldung aus:
    (1695) : error 047: array sizes do not match, or destination array is too small


    hier ist der Code dazu:
    new WeaponName[][]=
    {
    "","Schlagring", "Golfschläger", "Schlagstock", "Messer", "Baseballschläger",
    "Schaufel", "Billardstock", "Katana", "Kettensäge", "Dildo", "Vibrator A",
    "Vibrator B", "Vibrator C", "Blumen", "Krückstock", "Granate", "Tränengas",
    "Molotov", "", "", "", "Pistol", "SDPistol", "Deagle", "Schrotflinte",
    "A-Schrotflinte", "C-Schrotflinte", "SMG", "MP5", "AK47", "M4", "Tec9", "CRifle",
    "SRifle", "Raketenwerfer", "HS-Raketenwerfer", "Flammenwerfer", "Minigun",
    "Kofferbomben", "Zünder", "Pfefferspray", "Feuerlöscher", "Kamera",
    "Nachtsichtgerät", "Wärmebildgerät", "Fallschirm"
    };
    dcmd_giveweapon(playerid,params[])
    {
    new pID;
    new waffe[50];
    new wID;
    new Ammo;
    if(sscanf(params, "usd", pID, waffe, Ammo))
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /giveweapon [Playerid] [Waffen-ID] [Munition]");
    }
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    if(SpielerInfo[playerid][alvl]<3)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin Level 3!");
    }
    else
    {
    new aname[MAX_PLAYER_NAME], string2[256];
    if(IsNumeric(waffe))
    {
    wID=strval(waffe);
    }
    if(!IsNumeric(waffe))
    {
    new nameid;
    for(; nameid < sizeof(WeaponName); nameid++)
    {
    if(strlen(WeaponName[nameid]))
    if(strcmp(waffe, WeaponName[nameid], true) == 0)
    {
    wID=nameid;
    break;
    }
    }
    if(wID == -1) return SendClientMessage(playerid, 0xFFFFFFFF, "Ungültiger Waffenname!");
    }
    new waffe2[256];
    GetPlayerName(playerid, aname, sizeof(aname));
    waffe2 = WeaponName[wID];//DIE FEHLERZEILE
    format(string2, sizeof(string2), "[AdmCmd] Du hast von %s eine %s mit %d Munition bekommen.", aname, waffe2, Ammo);
    SendClientMessage(pID, COLOR_RED, string2);
    GivePlayerWeapon(pID, wID, Ammo);
    }
    return 1;
    }


    Was mache ich falsch? Das muss irgendwas mit den Arrays zu tun haben...


    K3nNy

    Hey Leute,


    weiß jemand von euch wie man überprüfen kann, ob die CarID XY existiert oder nicht?
    Einen konkreten Befehl wie IsVehicleConnected gibt es ja nicht... oder hab ich da was übersehen?


    K3nNy


    *edit*
    Weiß das denn niemand? Brauche das echt dringend für meinen Server

    So, nächstes Problem: komischerweise spawnt das Script, wenn ich mit Fahrzeugnamen spawnen möchte, immer einen Infernus. Ich habe dann ein paar Variablen ausgeben lassen, damit ich die Werte der Variablen verfolgen kann.
    if(!IsNumeric(params))
    {
    for(; nameid < sizeof(CarName); nameid++)
    {
    new nameid2[100];
    new i, j;
    i=sizeof(CarName);
    j=strcmp(params, CarName[nameid], true);
    format(nameid2,sizeof(nameid2), "nameid=%i, i=%i, j=%i",nameid, i, j);
    print(nameid2);
    if(strcmp(params, CarName[nameid], true) == 0)
    {
    cid = (nameid+400);
    break;
    }
    }
    if(cid == -1) return SendClientMessage(playerid, 0xFFFFFFFF, "Ungültiger Fahrzeugname!");
    }


    Die Ausgabe ist folgende:
    nameid=0, i=1758, j=-1
    nameid=1, i=1758, j=1
    nameid=2, i=1758, j=-1
    nameid=3, i=1758, j=1
    nameid=4, i=1758, j=-1
    nameid=5, i=1758, j=-1
    nameid=6, i=1758, j=1
    nameid=7, i=1758, j=-1
    nameid=8, i=1758, j=-1
    nameid=9, i=1758, j=1
    nameid=10, i=1758, j=-1
    nameid=11, i=1758, j=0


    Meine ursprüngliche Eingabe war "Hunter" (nameid=25). Warum bricht die Schleife immer bei 11 ab?


    K3nNy

    Boah da muss ich mir das 5 Mal durchlesen, bis ich das verstanden habe :D
    Das einzige was für mich noch keinen Sinn ergibt: Was bedeutet dieser Codeschnipsel:
    stock IsNumeric(const string[])
    {
    new i;
    while(string[i] != '\0') //end of string
    {
    if (string[i] > '9' || string[i] < '0'){return 0;}
    i++;
    }
    return 1;
    }


    Den Rest hab ich soweit verstanden, und du warst mir sogar schon einen Schritt voraus (ID und Name möglich). :thumbup:


    *edit*
    OK habs auch verstanden ;)
    Das definiert die IsNumeric-Funktion.


    Vielen Dank


    *edit 2*
    Ich habe aber noch 2 Fehler gefunden ;)


    player_pos[0]=floatadd(player_pos[0], 5.0);
    player_pos[2]=floatadd(player_pos[2], 1.0);
    player_pos[3]=floatadd(player_pos[3], 90.0);//Ergebnis von floatadd muss in eine Variable gepeichert werden


    cid=strval(params);//cid muss den Wert von params erhalten
    if(cid < 400 || cid > 611) return SendClientMessage(playerid, 0xFFFFFFFF, "FahrzeugID nicht kleiner als 400 oder größer als 611!");

    Ich habe jetzt folgendes Problem:
    Wenn ich das Auto jetzt spawnen lassen will, bekomme ich folgende Errormeldungen:
    C:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\Server\filterscripts\AdminScript.pwn(71) : error 006: must be assigned to an array
    C:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\Server\filterscripts\AdminScript.pwn(76) : error 001: expected token: "-string end-", but found "-identifier-"


    hier ist der Code dazu:
    dcmd_spawn(playerid, params[])
    {
    if (strlen(params))
    {
    new String:name, cid;
    new Float:player_pos[4];
    GetPlayerPos (playerid, player_pos[0], player_pos[1], player_pos[2]);
    GetPlayerFacingAngle (playerid, player_pos[3]);
    player_pos[0]=player_pos[0]+5;
    player_pos[2]=player_pos[2]+1;
    player_pos[3]=player_pos[3]+90;
    name = params;
    if (IsPlayerAdmin(playerid))
    {
    switch (name)
    {
    case "Infernus":
    cid=411;


    }
    gDeleteCreatedVehicles[gCountDeleteCreatedVehicles] = AddStaticVehicleEx (cid,player_pos[0],player_pos[1],player_pos[2],player_pos[3],-1,-1,-1);
    gCountDeleteCreatedVehicles++;
    return 1;
    }
    else
    return SendClientMessage (playerid, 0xFFFFFFFF, " **Du bist kein Admin!");
    }
    else SendClientMessage(playerid, 0xFFFFFFFF, " **/spawn <FahrzeugID>");
    return 1;
    }


    Was mache ich da falsch? Ich habe bei beiden Fehlern keine Ahnung.


    K3nNy

    Sagen wir es so: es funktionert perfekt. :thumbup:
    Mein Problem ist aber, dass ich das ganze noch nicht nachvollziehen kann, da ich erst seit ca. 3Tagen scripte.
    Wenn du Lust und Zeit hast, würde ich mich freuen, wenn du den ganzen Ablauf für mich anfängerfreundlich darstellst ;)


    K3nNy

    Danke für den guten Tipp :thumbup: .
    Leider funktionert der nicht, weil cvar nach einem Spawn immer über 1 ist, d.h. auch die anderen Fahrzeuge, die nach einem Spawn zerstört werden, verschwinden.

    Hey Leute,
    ich habe folgendes Problem:
    Ich habe mir gestern einen Car-Spawner gebastelt, der mir ein Auto neben mich spawnt.
    Das Problem ist, dass das Auto immer wieder respawnt, wenn es zerstört wurde.
    Die betroffene Ziele sieht so aus:
    AddStaticVehicleEx (411,player_pos[0],player_pos[1],player_pos[2],player_pos[3],-1,-1,-1);


    wie ihr seht habe ich die Respawnzeit auf -1 gesetzt, und das Auto respawnt genau wie bei 0.
    Woran könnte das liegen?


    K3nNy