/ejecte mich selber. :o

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    wie mache ich das so, das ich nicht mich sondern die pid ejecte?
    Iwie ejecte ich nur mich selber. :O


    if(strcmp(cmdtext,"/eject",true)==0)
    {
    new vehicleid;
    new pid;
    new tmp[256];
    new playerstate = GetPlayerState(playerid);
    new playername[MAX_PLAYER_NAME];
    new vehiclestring[128];
    new idx;
    GetPlayerName(playerid,playername,sizeof(playername));
    tmp = strtok(cmdtext,idx);
    if(!IsPlayerInAnyVehicle(playerid)){
    SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Auto!");
    return 1;
    }
    if(playerstate == PLAYER_STATE_PASSENGER){
    SendClientMessage(playerid,0xFF004040,"Beifahrer können dies nicht nutzen!");
    return 1;
    }
    vehicleid = GetPlayerVehicleID(playerid);
    if(!strlen(tmp)){
    SendClientMessage(playerid,0xFFFFFFAA,"Benutzung: /eject [playerid]");
    return 1;
    }
    pid = strval(tmp);
    if(!IsPlayerConnected(pid)){
    SendClientMessage(playerid,0xFF004040,"Dieser Spieler ist nicht auf dem Server!");
    return 1;
    }
    if(!IsPlayerInVehicle(pid,vehicleid)){
    SendClientMessage(playerid,0xFF004040,"Der Spieler ist nicht in deinem Auto!");
    return 1;
    }
    RemovePlayerFromVehicle(pid);
    format(vehiclestring,sizeof(vehiclestring),"Du wurdest von %s aus seinem Auto geworfen!",playername);
    SendClientMessage(pid,0xFF004040,vehiclestring);
    return 1;
    }

  • füge unter pid = strval(tmp);
    if(!IsPlayerConnected(pid)){
    SendClientMessage(playerid,0xFF004040,"Dieser Spieler ist nicht auf dem Server!");
    return 1;
    }

    noch hinzu:

    if(pid == playerid){
    SendClientMessage(playerid,0xFF004040,"Du kannst dich nicht selber rauswerfen!!");
    return 1;
    }

  • if(strcmp(cmd, "/eject", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new State;
    if(IsPlayerInAnyVehicle(playerid))
    {
    State=GetPlayerState(playerid);
    if(State!=PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,COLOR_GREY," Du kannst nur Spieler als ein Fahrer rauswerfen !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /eject [playerid/PartOfName]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    new test;
    test = GetPlayerVehicleID(playerid);
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst rauswerfen!"); return 1; }
    if(IsPlayerInVehicle(playa,test))
    {
    new PName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,PName,sizeof(PName));
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hasst %s aus dem Auto geworfen!", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du wurdest von %s aus dem Auto geworfen !", PName);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    RemovePlayerFromVehicle(playa);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Dieser Spieler ist nicht in deinem Auto !");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Ungültige ID/Name!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst in einem Fahrzeug sein um dies zu nützen !");
    }
    }
    return 1;
    }


    probier mal das

  • Soll ich das als Spam sehen?

    Das was er geschrieben hat ist kein Spam!
    Er aht Recht!
    Mit Dcmd ist es erstens Kürzer,zweitens schneller und drittens leichter zu verstehen/schreiben!


    Hier einmal ein Beispiel:


    dcmd_eject(playerid,params[])
    {
    #pragma unused params
    if(IsPlayerConnected(playerid))
    {
    if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Benutzung /eject [Playerid]");
    new player = ReturnUser(params);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(playerid)))
    {
    if(IsPlayerConnected(giveplayerid) && playerid != player)
    {
    SendStringMessage(playerid,COLOR_ORANGE,"Du hast %s(%i) aus deinen Auto geschmissen!", GetName(giveplayerid), player);
    SendStringMessage(player,COLOR_ORANGE,"Du wurdest von %s(%d) aus dem Auto geworfen!", GetName(playerid), playerid);
    RemovePlayerFromVehicle(player);}
    }
    }
    return true;
    }
    Und gleich alles viel kleiner und kompakter!
    Das ganze kann man natürlich auch noch mit der sscanf Funktion schreiben!
    Dann muss man z.b ReturnUser nicht verwenden!


    Falls du diesen CMD verwenden willst,solltest du Dcmd und SendStringMessage definieren!
    Genauso wie den Stock!

    stock GetName(playerid)
    {
    new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    //Edit:
    Im Code was geändert!

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2488) : error 017: undefined symbol "ReturnUser"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2489) : error 017: undefined symbol "giveplayerid"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2491) : error 017: undefined symbol "giveplayerid"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2493) : error 017: undefined symbol "SendStringMessage"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2494) : error 017: undefined symbol "SendStringMessage"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    Folgende Errors:
    ocmd:eject(playerid,params[])
    {
    #pragma unused params
    if(IsPlayerConnected(playerid))
    {
    if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "Benutzung /eject [Playerid]");
    new player = ReturnUser(params);//Zeile 2488
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(playerid)))//Zeile 2489
    {
    if(IsPlayerConnected(giveplayerid) && playerid != player)//Zeile 2491
    {
    SendStringMessage(playerid,COLOR_ORANGE,"Du hast %s(%i) aus deinen Auto geschmissen!", GetName(giveplayerid), player);//Zeile 2493
    SendStringMessage(player,COLOR_ORANGE,"Du wurdest von %s(%d) aus dem Auto geworfen!", GetName(playerid), playerid);//Zeile 2494
    RemovePlayerFromVehicle(player);}
    }
    }
    return true;
    }



    ...

  • Das was er geschrieben hat ist kein Spam!
    Er aht Recht!
    Mit Dcmd ist es erstens Kürzer,zweitens schneller und drittens leichter zu verstehen/schreiben!

    Nunja, eigentlich bin ich eher auf der Seite von "playerid", da er Recht hat. Dein Beitrag ist um einiges produktiver als der von Trooper... ^^


    @Topic: Siehe Dateianhang

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2493) : error 017: undefined symbol "SendStringMessage"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(2495) : error 017: undefined symbol "SendStringMessage"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(4747) : error 017: undefined symbol "IsNumeric"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    SendStringMessage(playerid,COLOR_ORANGE,string);//Zeile 2493



    SendStringMessage(playerid,COLOR_ORANGE,string);//Zeile 2495



    if (IsNumeric(text[pos])) //ZEILE 4747

  • und kopier dir das IsNumeric hier raus:


    http://pastebin.com/f764931c1

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ok 1 Error:
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\PIPAPO~1.PWN(4747) : error 017: undefined symbol "IsNumeric"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    hab den aus templers pastebin link kopiert, error bleibt.
    (text war der gleiche von IsNumeric)