Beiträge von KKM

    Hallo CapriZ,
    mal als "kleiner Tipp" am Rande. In den Zeilen die du uns geschrieben hast, wird nirgendwo überprüft, ob jemand die STRG Taste drückt, somit kann es ja gar nicht funktionieren.
    Das richtige Callback dafür wäre "OnPlayerKeyStateChange", dort kannst du abfragen, was passieren soll wenn jemand die STRG Taste drückt, also in deinem Fall beispielsweise, ob er beim ADAC/Oamt arbeitet und gerade in einem Tow-Truck sitzt, was du mit der ModelID abfragen kannst.

    Hast du deinen Registrieren Dialog mit der selben ID, wie "DIALOG_TANKSTELLENKASSE" definiert?
    Das würde erklären, das dann dieser Dialog erscheint.

    if(strcmp(cmdtext,"/makepremium",true) == 0)
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID,string[128],string2[256],reason;
    if(sscanf(params,"uds", pID, reason))return SendClientMessage(playerid, WEIß, "Benutzung: /makepremium [SPIELER] [1=Premium Mitglied|-1=Kein Premium Mitglied] [Grund]");
    SetPVarInt(pID, "Premium", GetPVarInt(pID, "Premium"));
    format(string, sizeof(string), "Du hast %s zum Premium Mitglied gemacht %i", SpielerName(pID),);
    SendClientMessage(playerid, GRÜN, string);
    format(string2, sizeof(string2), "Du hast von einem Admin %i Premium Punkte bekommen. Grund: %s", reason);
    SendClientMessage(pID, GRÜN, string2);
    {
    SpielerSpeichern(playerid);
    }
    return 1;
    }


    Damit sollte dein Pawno wieder funktionieren!.
    Anbei ein klasse Tutorial für "Commands mit Parametern". -> [ SCRIPTING ] Commands mit Parametern
    Eine ähnliche Funktionsweise hat auch OCMD!

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    IsTowTrucker[playerid]=1;
    TowTruckers++;
    SendClientMessage(playerid,0xFFFF00AA,"Drücke STRG zum abschleppen!");
    }
    else
    {
    if (TowTruckers>0)
    {
    SendClientMessage(playerid,0xFFFF00AA,"Wenn du ein Problem hast tippe /service mechanic!");
    }
    }
    //}
    if(newstate == PLAYER_STATE_ONFOOT && IsTowTrucker[playerid] == 1) //if((newstate==PLAYER_STATE_ONFOOT)&&(IsTowTrucker[playerid]==1))
    {
    IsTowTrucker[playerid]=0;
    TowTruckers--;
    }
    if(newstate == PLAYER_STATE_PASSENGER && TowTruckers > 0)//if((newstate==PLAYER_STATE_PASSENGER)&&(TowTruckers>0))
    {
    SendClientMessage(playerid,0xFFFF00AA,"Wenn du ein Problem hast tippe /service mechanic!");
    }
    return 1;
    }

    Dein Public "GetSpielerName" kannst du einfach entfernen. Diese Funktion ersetzen wir mit der Funktion/Stock GetSpielerName, da ein Public unnötig ist.
    Diese Funktion fügst du nun in dein Script ein.


    stock GetSpielerName(playerid)
    {
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    return pName;
    }


    Nun sollten die Namen richtig angezeigt werden. Dein Login/Register System kann mit deiner alten Funktion gar nicht funktioniert haben.

    -> Spieler[pID][Adminlevel] = rang;
    Das gibt den Rang zumindest einmal zum richtigen Spieler.
    Die Namen und der Rang sollten eigentlich in der Nachricht angezeigt werden.
    :huh:


    KKM

    Versuchs mal so:


    stock IstErAmStand(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2153.1157,-2146.6943,13.5469,5));
    else if(IsPlayerInRangeOfPoint(playerid,2136.3438,-2136.6592,13.5469,5));
    return 1;
    }

    Guten Tag,
    ich habe mal wieder ein kleines Problem beim Scripten, besser gesagt, eine Frage.
    Auf manchen Servern ist die "Timestamp" Funktion im Chat automatisch aktiviert.
    Jedoch, habe ich keine möglichkeit gefunden, die Timestamp Funktion automatisch zu aktivieren (ohne /timestamp) einzugeben.


    Habt ihr eine Lösung für mich?


    MfG,
    Palme

    Das ist der wichtige Abschnitt in der Debug:


    "[20:50:25] CMySQLHandler::Query(SELECT groupID FROM `wcf1_user_to_groups` WHERE userID = 1) - Successfully executed.
    [20:50:25] >> mysql_store_result( Connection handle: 1 )
    [20:50:25] CMySQLHandler::StoreResult() - Result was stored.
    [20:50:25] >> mysql_num_rows( Connection handle: 1 )
    [20:50:25] CMySQLHandler::NumRows() - Returned 3 row(s)
    [20:50:25] >> mysql_fetch_row_format( Connection handle: 1 )
    [20:50:25] CMySQLHandler::FetchRow() - Return: 1
    [20:50:25] >> mysql_num_rows( Connection handle: 1 )
    [20:50:25] CMySQLHandler::NumRows() - Returned 3 row(s)
    [20:50:25] >> mysql_fetch_row_format( Connection handle: 1 )
    [20:50:25] CMySQLHandler::FetchRow() - Return: 3
    [20:50:25] >> mysql_num_rows( Connection handle: 1 )
    [20:50:25] CMySQLHandler::NumRows() - Returned 3 row(s)
    [20:50:25] >> mysql_fetch_row_format( Connection handle: 1 )
    [20:50:25] CMySQLHandler::FetchRow() - Return: 4
    [20:50:25] >> mysql_num_rows( Connection handle: 1 )
    [20:50:25] CMySQLHandler::NumRows() - Returned 3 row(s)
    [20:50:25] >> mysql_free_result( Connection handle: 1 )
    [20:50:25] CMySQLHandler::FreeResult() - Result was successfully free'd."


    Jedoch gibt er mir trotzdem die 0 zurück, obwohl der Benutzer in der Gruppe ist.

    So müsste es klappen:


    ocmd:unban(playerid,params[])
    {
    new pID, string[256], console[256], Spielerdatei[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/accounts/%s.acc",name);
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du hast nich den benötigten Adminrang!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutzung: /unban [Playername]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Der Spieler ist nicht Online!");
    {
    new File:Playername=fopen(Spielerdatei, io_read);
    if(Playername)
    {
    if(dini_Int(Spielerdatei,"Ban")==0)
    {
    SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht gebannt.");
    }
    else
    {
    format(string,sizeof(string),"AdmCmd: %s wurde von %s entbannt.",SpielerName(pID),SpielerName(playerid));
    format(console,sizeof(console),"AdmCmd: %s wurde von %s entbannt.\n",SpielerName(pID),SpielerName(playerid));
    SendClientMessageToAll(ROT,string);
    dini_IntSet(Spielerdatei,"Ban",0);
    SpielerSpeichern(pID);
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Diesen Spieler gibt es nicht.");
    }
    }
    return 1;
    }

    Versuchs mal so:


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if(strcmp(cmdtext,"/basejump1",true,10)== 0)
    {
    SetPlayerPos(playerid,1544.5455,-1353.5398,329.4739);
    SendClientMessage(playerid,COLOR_GELB,"Du hast dich zum Basejump1 teleportiert!");
    return 1;
    }
    return 1;
    }