Beiträge von nehli

    so müsste es funken


    if (strcmp(cmd, "/buygun", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][pGunLic] = 1);
    {
    if(PlayerMoney[playerid] < 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast nicht genug Geld !");
    return 1;
    }
    else
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,290.2882,-106.2232,1001.5156) || IsPlayerInRangeOfPoint(playerid,10,313.7526,-133.6300,999.6016))
    {
    ShowPlayerDialog(playerid, DIALOG_BUY_GUN,DIALOG_STYLE_LIST, "/buygun - Waffenladen", "9mm Pistole [100Schuss]\nSilenced Pistole [100Schuss]\nDesert Eagle [100Schuss]\nTec 9 [200Schuss]\nUzi [400Schuss]\nMP5 [300Schuss]\nShotgun [50Schuss]\nSawnoff Shotgun [50Schuss]\nM4 [400Schuss]\nAK 47 [400Schuss]\nRifle [15Schuss]\nScharfschützengewehr [15Schuss]\nSchutzweste", "Kaufen", "Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist in keinem Waffenladen.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht im Besitz eines Waffenscheines!");
    return 1;
    }
    }
    return 1;
    }


    ich sags gleich ich habs aber nicht getestet ;)

    Hei


    Ich habe ein Problem.


    Es geht um das das ich gerne die Positionen speichern würde wenn ein Spieler den Server verlässt und das wenn er dann wieder on kommt ist er dort wo er off gegangen ist!
    Habe schon ein bisschen herum probiert aber bin nicht zusammen gekommen..


    ich arbeite mit PVarInt falls ihr das wissen wollt ;)


    Hoffe ihr könnt mir helfen


    MfG

    oke gut wenn du 70 Sachen abspeicherst und alles klappt dann brauch ich mir
    überhaupt keine Sorgen machen, weil ich bin erst bei 20 Sachen ^^

    Hei ich habe mal eine kleine Frage:


    und zwa würd ich gerne wissen ob es egal ist wie viele Daten in der Dini gespeichert werden oder ob es immer länger zum speichern
    braucht wenn man viele Sachen abspeichert?


    hoffe ihr könnt mir schnell helfen ;)
    MfG

    Hei. Ich habe mir mal einen comd:r chat gescripten der auch ohne Fehler funktioniert, aber wenn ich zb später mal die Rangunterschiede oder mehr Ränge hinzufügen will wird es viel zu aufwenidig und auch immer länger...


    ich habe es so gemacht
    ocmd:r(playerid,params[])
    {
    new text[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_YELLOW,"/r [text]");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(playerid,"Fraktion")==0)
    {
    SendClientMessage(playerid,COLOR_RED,"um diesen Befehl nutzen zu können musst du in einer Fraktion sein!");
    }
    //else if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")==1))
    else if(GetPVarInt(i,"Fraktion")==1)
    {
    if(GetPVarInt(playerid,"Armykills")<10)
    {
    new string[128];
    format(string,sizeof(string),"Specialist %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"Armykills"),text);
    SendClientMessage(i,COLOR_BLUE,string);
    }
    else if(GetPVarInt(playerid,"Armykills") <20)
    {
    new string[128];
    format(string,sizeof(string),"Coporal %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"Armykills"),text);
    SendClientMessage(i,COLOR_BLUE,string);
    }
    else if(GetPVarInt(playerid,"Armykills") >=20)
    {
    new string[128];
    format(string,sizeof(string),"Oberst %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"Armykills"),text);
    SendClientMessage(playerid,COLOR_ORANGE,string);
    }
    }
    //else if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")==2))
    else if(GetPVarInt(i,"Fraktion")==2)
    {
    if(GetPVarInt(playerid,"LVPDkills")<10)
    {
    new string[128];
    format(string,sizeof(string),"Streifencop %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"LVPDkills"),text);
    SendClientMessage(i,COLOR_BLUE,string);
    }
    else if(GetPVarInt(playerid,"LVPDkills") <20)
    {
    new string[128];
    format(string,sizeof(string),"Oberkommisar %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"LVPDkills"),text);
    SendClientMessage(i,COLOR_BLUE,string);
    }
    else if(GetPVarInt(playerid,"LVPDkills") >=20)
    {
    new string[128];
    format(string,sizeof(string),"Polizeidirektor %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"LVPDkills"),text);
    SendClientMessage(playerid,COLOR_ORANGE,string);
    }
    }
    else if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")==3))
    {
    if(GetPVarInt(playerid,"Terrorkills")<10)
    {
    new string[128];
    format(string,sizeof(string),"Anhänger %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"Terrorkills"),text);
    SendClientMessage(i,COLOR_BLUE,string);
    }
    else if(GetPVarInt(playerid,"Terrorkills") <20)
    {
    new string[128];
    format(string,sizeof(string),"Attentäter %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"Terrorkills"),text);
    SendClientMessage(i,COLOR_BLUE,string);
    }
    else if(GetPVarInt(playerid,"Terrorkills") >=20)
    {
    new string[128];
    format(string,sizeof(string),"Boss %s (Rang %d): %s",SpielerName(playerid),GetPVarInt(playerid,"Terrorkills"),text);
    SendClientMessage(playerid,COLOR_ORANGE,string);
    }
    }
    }
    }
    return 1;
    }



    Will es aber gerne so machen das ich oben die Ränge definer, weil ich ja den gleichen Aufwand bei /member oder ob er mit dem Car fahren darf auch hat. Ich will es eigentlich kürzer schreiben hab aber keinen Plan wie


    Hoffe ihr könnt mir helfen.


    MfG

    Hei ich habe ein Problem mit den Dialogen -.-


    das hab ich oben beim command:

    ShowPlayerDialog(playerid,DIALOG_ARMYWAFFEN,DIALOG_STYLE_LIST,"Waffen","Deagle\nSilcend\n.... (7 Waffen halt),"OK","Exit");

    und zwa ich hab unten in der Function das geschrieben:


    if(dialogid==DIALOG_ARMYWAFFEN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich eine Silecend mit 1000 Schuss genommen!");
    GivePlayerWeapon(playerid,23,1000);
    return 1;
    }
    if(response==1)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich eine Deagle mit 1000 Schuss genommen!");
    GivePlayerWeapon(playerid,24,1000);
    return 1;
    }
    }
    if(response==2)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich eine Shotgun mit 1000 Schuss genommen!");
    GivePlayerWeapon(playerid,25,1000);
    return 1;
    }
    if(response==3)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich 10 Granaden genommen!");
    GivePlayerWeapon(playerid,16,10);
    return 1;
    }
    if(response==4)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich eine M4 mit 1000 Schuss genommen!");
    GivePlayerWeapon(playerid,31,1000);
    return 1;
    }
    if(response==5)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich eine MP5 mit 1000 Schuss genommen!");
    GivePlayerWeapon(playerid,29,1000);
    return 1;
    }
    if(response==6)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich eine Sniper mit 1000 Schuss genommen!");
    GivePlayerWeapon(playerid,34,1000);
    return 1;
    }
    }


    zu meinem Problem: Es kommt aber immer nur die deagle! es ist egal welche waffe ich auswähle.


    Hoffe ihr könnt mir helfen.


    MfG

    und zwa es geht um das das ich den standard chat auf einen gewissen radius begrenzen will
    d.h. ich will nicht wenn man was normal in der konsole ohne / schreibt das es jeder sieht sondern nur ein gewisser radius in der nähe vom Spieler


    /edit ich hoff ihr könnt mir helfen ;)



    MfG

    Hei


    Ich habe ein Problem. Und zwar hab ich es so gescriptet das wenn ich in der "Army" bin sollen extra Armykills gezählt werden. Wenn man dann bei der Army ist sollen die kills automatisch der Score sein
    und wenn man dann bei terror ist sollen die Terrorkills für den Score verantwortlich sein
    und bei mir buggt es komplett!!
    ich habe es so gemacht:


    {
    if(killerid!=INVALID_PLAYER_ID)
    {
    if(isPlayerInFrakt(killerid,1))
    {
    kills++;
    SetPVarInt(killerid,"Armykills",kills);
    SetPlayerScore(killerid,GetPVarInt(killerid,"Armykills"));
    SpielerSpeichern(killerid);
    }
    if(isPlayerInFrakt(killerid,2))
    {
    kills++;
    SetPVarInt(killerid,"LVPDkills",kills);
    SetPlayerScore(killerid,GetPVarInt(killerid,"LVPDkills"));
    SpielerSpeichern(killerid);
    }
    if(isPlayerInFrakt(killerid,3))
    {
    kills++;
    SetPVarInt(killerid,"Terrorkills",kills);
    SetPlayerScore(killerid,GetPVarInt(killerid,"Terrorkills"));
    SpielerSpeichern(killerid);
    }
    else
    {
    SendDeathMessage(killerid, playerid, reason);
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    GivePlayerMoney(killerid, 100);
    GivePlayerMoney(playerid,-100);
    //SetPVarInt(killerid,"kills",GetPVarInt(killerid,"kills") +1);
    //SetPVarInt(playerid,"deaths",GetPVarInt(playerid,"deaths") + 1);
    kills = GetPVarInt(killerid,"kills");
    kills++;
    SetPVarInt(killerid,"kills",kills);
    SpielerSpeichern(killerid);
    SpielerSpeichern(playerid);
    deaths = GetPVarInt(playerid,"deaths");
    deaths++;
    SetPVarInt(playerid,"deaths", deaths);
    new str[100], str2[100], name[50], name2[50];
    GetPlayerName(killerid, name, sizeof(name));
    format(str, sizeof(str), "Du wurdest von --> %s <-- umgebracht", name);
    GetPlayerName(playerid, name2, sizeof(name2));
    format(str2, sizeof(str2), "Du hast --> %s <-- umgebracht", name2);
    SendClientMessage(playerid,COLOR_RED,str);
    SendClientMessage(killerid,COLOR_GREEN,str2);
    }
    }
    else
    {
    SendDeathMessage(killerid,playerid,reason);
    GivePlayerMoney(playerid,-100);
    SpielerSpeichern(playerid);
    deaths = GetPVarInt(playerid,"deaths");
    deaths++;
    SetPVarInt(playerid,"deaths", deaths);
    //SetPVarInt(playerid,"deaths",GetPVarInt(playerid,"deaths") +1);
    new msg1[100];
    format(msg1,sizeof(msg1),"Du hast dich selbst umgebracht!");
    SendClientMessage(playerid,COLOR_RED,msg1);
    }


    und das funkt iergendwie net so richtig -.-

    Hei Com ;)


    Ich hab da ein Problem was ich nicht lösen kann und ich hab die SuFu auch verwendet, aber nichts gefunden was passen könnte......


    und zwa ich würde gern einen /f Chat machen wo zb jetz nur die Army Mitglieder miteinander schreiben können oder nur die Terror Member.


    Es sollte so ausschauen: Coporal nehli: dies ist ein Test.


    aber Coporal nicht bei jedem stehen sondern nur für den Rang 3 da sein und für den Rang 2 sollte dann ein anderer Name dastehen. Ich will den Befehl mit ocmd machen ;)
    und falls es hilft ich habe ganz unten in dem Script ne Abfrage die so lautet:
    stock isPlayerInFrakt(playerid,fraktid)
    {
    if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
    return 0;
    }


    und arbeite mit PVarInt ;)



    Hoffe ihr könnt mir helfen

    Hei ich habe eine Frage die schon des öfteren kam und auch sehr stark in der SuFu vertreten ist. Ich hatte auch schon ein System was funktioniert hat, aber ich habe dann mir sagen lassen das PVarInt besser ist als alles mit enums machen, weil man die enums immer auf null setzten muss wenn ein Spieler den Server verlässt. Mein Problem ist jetzt aber das die Kills und deaths nicht mehr in meiner Dini gespeichert werden :(


    ich habe es so gemacht:



    public OnPlayerDeath(playerid, killerid, reason)



    {
    if(killerid!=INVALID_PLAYER_ID)
    {


    SendDeathMessage(killerid, playerid, reason);
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    GivePlayerMoney(killerid, 100);
    GivePlayerMoney(playerid,-100);
    //SpielerInfo[killerid][kills] ++;
    //SpielerInfo[playerid][deaths] ++;
    new deaths = 1;
    SetPVarInt(playerid,"deaths", deaths);
    new str[100], str2[100], name[50], name2[50];
    GetPlayerName(killerid, name, sizeof(name));
    format(str, sizeof(str), "Du wurdest von --> %s <-- umgebracht", name);
    GetPlayerName(playerid, name2, sizeof(name2));
    format(str2, sizeof(str2), "Du hast --> %s <-- umgebracht", name2);
    SendClientMessage(playerid,COLOR_RED,str);
    SendClientMessage(killerid,COLOR_GREEN,str2);
    }
    else
    {
    SendDeathMessage(killerid,playerid,reason);
    GivePlayerMoney(playerid,-100);
    //SpielerInfo[playerid][deaths] ++;
    new msg1[100];
    format(msg1,sizeof(msg1),"Du hast dich selbst umgebracht!");
    SendClientMessage(playerid,COLOR_RED,msg1);
    }
    return 1;



    }


    ich hab sogar noch die Spielerinfo trinnen lassen damit ihr seht wie ich es früher hatte und es auch gefunkt hat nur jetz haut es nicht mit PVar hin. Ich müsste Enums machen aber ich will es ohne haben ;)^^


    MfG


    /edit: wo ich new deaths = 1;
    SetPVarInt(playerid,"deaths", deaths); gemacht hab wird ja immer wenn er gekillt wird wirds auf 1 gesetzt, aber wie kann ich da machen das es dazugezählt wird. Habe ++, =, 1+ etc versucht aber kommt dann immer error -.-

    Danke für die Hilfe :D. Funkt ;) ,aber ich musste einen 2 String machen, weil ja der Spieler der die Nachricht bekommt auch mit format gemacht werden muss


    format(string2,sizeof(string2),"Spieler %s: %s",SpielerName(playerid,text)
    SendClientMessage(pID,COLOR_WHITE,string2)

    und so funkt es auch ;)