Beiträge von KornChief

    Kennst du sa-mp.com/wiki ? Mal gelesen?


    Ich weiß nicht wies' in 0.3 ist, aber AddStaticPickup ging nur in public OnGameModeInit( ) und CreatePickup überall...
    Außerdem: AddStaticPickup:
    "Returns True if the pickup is successfully created."
    CreatePickup:
    "Returns The PickupID."

    Ich kenne strget nicht allzugut, doch versuch mal folgendes

    new gun = strval(strget(cmdtext,1));// Hier definierst du: 1. Parameter ist eine Zahl und heißt "gun".
    new ammocharge;
    new gunid[16];
    if(strcmp(gunid, "ak47", true, strlen(gunid)) == 0) //Doch hier vergleichst du die Strings (!), "gunid" mit ....


    Teste daher mal:


    new ammocharge;
    new gunid[16];
    if(strcmp(strget(cmdtext,1),"Ak47",false) == 0)
    ....

    Kürzer wäre meine oder Y_Less Variante:

    stock IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
    {
    new
    Float:px,
    Float:py,
    Float:pz;
    GetPlayerPos(playerid, px, py, pz);
    px -= x;
    py -= y;
    pz -= z;
    return ((px * px) + (py * py) + (pz * pz)) < (range * range);
    }

    Ist nicht das Standart Player To Point, sollte aber auch gehen (aus dem Kopf geschrieben)

    stock PlayerToPoint(playerid,Float:X,Float:Y,Float:Z,Float:R)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    return ((pX - X) ^ 2) + ((pY - Y) ^ 2) + ((pZ - Z) ^ 2) < (R ^ 2); // denke, hier ginge auch wenn man X - pX rechnet,da man ja nur die Entfernung berechnet
    }


    // Variablen: Du definierst zB new bool:InKnast[MAX_PLAYERS];


    // Im Command auf 1 / true setzen
    InKnast[playerid] = true;



    // Bei den Anderen Ports eine Abfrage ( zB )
    if(!Knast[playerid])
    { }
    else { }



    // Natürlich bei OnPlayerDisconect wieder auf "fasle" / 0 setzen

    Blackfox geht immer vom guten aus, oder? Er hätte es "verloren". Ich hab ihm etwas für Geld gecodet und nur die .amx gegeben damit er es tesen kann. Nun will er nichts zahlen und es so umwandeln :P . Zum Glück hat er keine Ahnung von PAWNO, daher wird er meine Fallen nicht entdecken, weil ich mir das natürlich gedacht habe :) .

    Also:
    Command /scheine:
    Bei mir habe ich es 2 mal getestet und es ging einwandtfrei.


    OnPlayerStateChange:
    Du überprüfst nur, ob er seine "Haltung" geändert hat (egal von welcher auf welcher). Verwende oldstate und newstate .


    // Zuerst erstellst du eine Variable (oder baust es in dein Enum ein), wie "Logged[MAX_PLAYERS];"


    // Im Command "/login" baust du ein: Logged[playerid] = 1; <= Damit definieren wir: >> Er ist eingeloggt <<.


    // Nun unter
    public OnPlayerRequestSpawn(playerid) //Nachdem du den Skin ausgewählt hast, kommt das
    {
    // das
    if(Logged[playerid] == 0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new string[100];
    format(string,sizeof(string),"%s.ini",name);
    if(dini_Exists(string)) // mit "Dini"...sonst wäre es "if(fexist())"
    {
    SendClientMessage(playerid, rot, "[FEHLER]Spawnen ist erst nach den Login möglich!");
    return 0; //Wichtig: 0 !
    }
    }
    else
    {
    return 1; // Sonst ja
    }
    return 1;
    }



    // Bei OnPlayerDisconnect die Variable wieder auf 0 setzen
    Logged[playerid] = 0;