Beiträge von SqueezyZ

    Hey Leute,


    wie kann ich Abfragen, ob der Spieler (playerid) am Objekt (Bombe) steht?


    Der Code beim erstellen der Bombe:


    new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z);
    KofferInfo[playerid][Bombe]=CreateObject(1210,x,y,z-0.8,0.0,0.0,0.0);
    KofferInfo[playerid][KofferX]=x; KofferInfo[playerid][KofferY]=y; KofferInfo[playerid][KofferZ]=z; KofferInfo[playerid][KofferAbgelegt]=1;
    RemovePlayerAttachedObject(playerid, 5);
    pInv[playerid][KoffBombe] --;
    SendClientMessage(playerid,COLOR_YELLOW,"Kofferbombe abgelegt.");


    Dankeschön schonmal ^^

    Hey Leute,


    da ja bald Weihnachten vor der Tür steht und ich meinem Bruder etwas gut tun möchte, bin ich auf der Suche nach einer guten, einfachen und am besten deutschen Seite (wegen Versand),
    auf der ich "Custom-Controller" für die X-BOX One erstellen kann.


    Bestimmt kommt jetzt: ,,Google ist dein Freund, JUNGEE!"


    Aber ihr werdet es nicht glauben... ich habe gegooglet, möchte aber wissen ob IHR ein paar gute Seiten kennt ;)


    P.S: Notfalls würden auch englische/amerikanische Seiten gehen, das nervige wäre nur der Versand!


    Gruß DCF :love:

    Hey Leute,


    ich habe einen Anti-Spam auf meinem Server eingerichtet und möchte, dass der Spieler jede Sekunde nur höchst. 2 Befehle eingeben kann.
    Soweit habe ich das so gemacht:


    public OnPlayerText(playerid, text[])
    {
    if(pCmduse[playerid] > 2){SendClientMessage(playerid,0x33CCFFAA,"Du darfst pro Sekunde nur 2 Befehle nutzen!");return 0;}
    pCmduse[playerid] = pCmduse[playerid] + 1;
    .....


    pCmduse ist also die Variable, die im Script mit [MAX_PLAYERS] definiert ist.


    Im Timer, der eine Zeit von einer Sekunde hat und sich permanent wiederholt, hat diese zurücksetzung für die Variable:


    for(new i=0;i<MAX_PLAYERS;i++)
    {
    pCmduse[i] = 0;
    ....


    Jedoch bekomme ich, sobald ich einen zweiten Befehl eingebe, die Meldung (return SendClientMessage.. *siehe oben*)


    Was mache ich falsch? :o

    Hey Brotfische,



    ich habe einen Teamspeak 3 Server und möchte den für einen SA:MP Roleplay Server entsprechend gestalten.
    Da das ganze nicht so fade und lustlos aussehen soll möchte ich fragen ob ihr ein paar Seiten für SA:MP Icons habt, oder generelle ein paar Beispiele posten
    könnt wie eure Channel so aussehen bzw. generell die Sonderzeichen und so :)


    Damit übersichtlicher und schicker aussieht >:)


    Dankeschön :love:


    #edit Mit Google war ich nicht all zu erfolgreich ^^

    Hey Leute,


    ich brauche dringende Hilfe bei einem Serverproblem, da es meinen kompletten Gamemode sehr stark beeinträchtigt.


    Ich habe in meine Script eine "Funktion" eingebaut die es ermöglicht "ClientMessage's" an Spieler mit einem String zu senden, so dass man nich permanent
    dieses "fortmat(...." machen muss.


    Das ganze sieht so aus:


    stock SCMF(playerid, color, fstring[], {Float, _}:...)
    {
    static const STATIC_ARGS = 3;
    new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
    if(n)
    {
    new message[144],arg_start,arg_end;
    #emit CONST.alt fstring
    #emit LCTRL 5
    #emit ADD
    #emit STOR.S.pri arg_start


    #emit LOAD.S.alt n
    #emit ADD
    #emit STOR.S.pri arg_end
    do
    {
    #emit LOAD.I
    #emit PUSH.pri
    arg_end -= BYTES_PER_CELL;
    #emit LOAD.S.pri arg_end
    }
    while(arg_end > arg_start);


    #emit PUSH.S fstring
    #emit PUSH.C 144
    #emit PUSH.ADR message


    n += BYTES_PER_CELL * 3;
    #emit PUSH.S n
    #emit SYSREQ.C format


    n += BYTES_PER_CELL;
    #emit LCTRL 4
    #emit LOAD.S.alt n
    #emit ADD
    #emit SCTRL 4


    if(playerid == INVALID_PLAYER_ID)
    {
    #pragma unused playerid
    return SendClientMessageToAll(color, message);
    } else {
    return SCM(playerid, color, message);
    }
    } else {
    if(playerid == INVALID_PLAYER_ID)
    {
    #pragma unused playerid
    return SendClientMessageToAll(color, fstring);
    } else {
    return SCM(playerid, color, fstring);
    }
    }
    }

    Nun habe ich diese "Funktion" auch sehr oft in meinem Gamemode eingebaut und alles lief auch ohne Probleme.
    Irgendwann jedoch habe ich sehr viel an meinem Gamemode gebastelt, so dass ich dann irgendwann das Problem hatte, dass
    wenn ich gewisse Commands eingebe (Beispiel unten: ocmd:setlevel) der ganze Server crasht und folgende Sachen in der Log ausspuckt:


    Server Log:


    Code
    [00:15:02] [debug] Server crashed while executing inventar.amx
    [00:15:02] [debug] AMX backtrace:
    [00:15:02] [debug] #0 native format () [080da300] from samp9915_6
    [00:15:02] [debug] #1 0000a7b8 in SCMF (playerid=0, color=-65366, fstring[]=@0x00c725b4 "%s hat dir Level %s gegeben", ... <2 variable arguments>) at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:138
    [00:15:02] [debug] #2 00101b90 in public ocmd_setlevel (playerid=0, params[]=@0x00caf580 "0 10") at D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn:19421
    [00:15:02] [debug] #3 native CallLocalFunction () [080dce40] from samp9915_6
    [00:15:02] [debug] #4 00000b0c in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00caf544 "_setlevel 0 10") at D:\Domi\Spiele\GTA San Andreas\Selfmade\pawno\include\ocmd.inc:33



    Beim Script compilen kommen zwar keine Fehler oder Warnings, jedoch aber diese Meldung:


    Header size: 13924 bytes
    Code size: 1613964 bytes
    Data size: 13301060 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements:14945332 bytes



    Der Beispielcommand sieht folgendermaßen aus:


    ocmd:setlevel(playerid,params[])
    {
    if(isPlayerAnAdmin(playerid,5))
    {
    new pID;
    new string[200];
    new sender[32];
    new player[32];
    new level;
    GetPlayerName(playerid,sender,sizeof(sender));
    GetPlayerName(pID,player,sizeof(player));
    if(sscanf(params,"ui",pID,level))return SCM(playerid, COLOR_FADE3,"/setlevel [Name/ID] [Level]");
    if(level<1||level>30)return SCM(playerid, COLOR_FADE3,"Du musst zwischen Level 1 und 30 geben!");
    if(pID != INVALID_PLAYER_ID)
    {
    SetPlayerScore(pID,level);
    SCMF(playerid,COLOR_YELLOW,"%s hat dir Level %s gegeben",sender,level);
    format(string, sizeof(string),"[AdmMsg] %s hat %s Level %s gegeben.", sender, player,level);
    ABroadCast(ROT,string,1);
    return 1;


    }
    SCM(playerid,ROT,"Der Spieler ist ungültig!");
    return 1;
    }
    SCM(playerid,ROT,"Dir fehlen die benötigten Rechte!");
    return 1;
    }



    Ich bitte jeden der das Problem versteht mir zu helfen, da ich einfach nicht mehr weiter weiß!
    Mein Server crasht nach fast jedem Command und das macht mich jetzt mittlerweile schon beinah depressiv :S



    Vielen Dank für eure Hilfe! :love:

    Hey Leute,


    ich habe ein paar Probleme in meinem Script, die beim compilen jedoch nicht als Errors oder Warnings.


    Bei einigen Commands (wenn eine ganz bestimmte Sache aufgerufen wird) crashed der Server und ich vermute dass hinter diesem und hinter weiteren
    Problemen das steckt, das ich keinerlei Dynamic im Script (#pragma Dynamic) nutze.


    Beim compilen kommt das hier:


    Header size: 13924 bytes
    Code size: 1613964 bytes
    Data size: 13301060 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements:14945332 bytes


    Wie viel Dynamic muss ich nun verwenden und wo genau poste ich den Code?!


    Danke schonmal :love: