Probleme mit /eject

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
  • ich bekomme immer 6 errors wenn ich folgenden command einfügen will:


    hier die zeilen:
    if(strcmp(cmdtext,"/eject",true)==0)
    {
    new vehicleid;
    new pid;
    new tmp[256];
    new playerstate = GetPlayerState(playerid);
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    tmp = strtok(cmdtext,idx);
    if(!IsPlayerInAnyVehicle(playerid)){
    SendClientMessage(playerid,0xFF004040,"You are not in a Vehicle");
    return 1;
    }
    if(playerstate == PLAYER_STATE_PASSENGER){
    SendClientMessage(playerid,0xFF004040,"Passengers can't use this!");
    return 1;
    }
    vehicleid = GetPlayerVehicleID(playerid);
    if(!strlen(tmp)){
    SendClientMessage(playerid,0xFFFFFFAA,"Usage: /eject [playerid]");
    return 1;
    }
    pid = strval(tmp);
    if(!IsPlayerConnected(pid)){
    SendClientMessage(playerid,0xFF004040,"That player is not Connected...");
    return 1;
    }
    if(!IsPlayerInVehicle(pid,vehicleid)){
    SendClientMessage(playerid,0xFF004040,"That player is not in your Vehicle...");
    return 1;
    }
    RemovePlayerFromVehicle(pid);
    format(string,sizeof(string),"You have been kicked from %s's Vehicle",playername);
    SendClientMessage(pid,0xFF004040,string);
    return 1;
    }


    kann mir vlt jemand helfen??


    mfg HwS-Marshall

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • Du musst strtok erstmal definieren!


    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Inkludiere mal die "dutils.inc", solltest du diese nicht haben, pack einfach das hier in dein Script:


    stock strtok(const string[], &index,seperator=' ')
    {
    new length = strlen(string);
    new offset = index;
    new result[32];
    while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }


    result[index - offset] = EOS;
    if ((index < length) && (string[index] == seperator))
    {
    index++;
    }
    return result;
    }

    Es gibt 10 Arten von Menschen.
    Die, die Binär verstehen und die, die nicht.

    Einmal editiert, zuletzt von tommy1332 ()

  • jetzt bekomme ich noch einen error und eine warnung:

    Code
    H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(607) : error 017: undefined symbol "idx"
    H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(800) : warning 219: local variable "string" shadows a variable at a preceding level
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • if(strcmp(cmdtext,"/eject",true)==0)
    {
    new vehicleid;
    new pid;
    new tmp[256];
    new playerstate = GetPlayerState(playerid);
    new playername[MAX_PLAYER_NAME];
    new string[128];
    new idx;
    GetPlayerName(playerid,playername,sizeof(playername));
    tmp = strtok(cmdtext,idx);
    if(!IsPlayerInAnyVehicle(playerid)){
    SendClientMessage(playerid,0xFF004040,"You are not in a Vehicle");
    return 1;
    }
    if(playerstate == PLAYER_STATE_PASSENGER){
    SendClientMessage(playerid,0xFF004040,"Passengers can't use this!");
    return 1;
    }
    vehicleid = GetPlayerVehicleID(playerid);
    if(!strlen(tmp)){
    SendClientMessage(playerid,0xFFFFFFAA,"Usage: /eject [playerid]");
    return 1;
    }
    pid = strval(tmp);
    if(!IsPlayerConnected(pid)){
    SendClientMessage(playerid,0xFF004040,"That player is not Connected...");
    return 1;
    }
    if(!IsPlayerInVehicle(pid,vehicleid)){
    SendClientMessage(playerid,0xFF004040,"That player is not in your Vehicle...");
    return 1;
    }
    RemovePlayerFromVehicle(pid);
    format(string,sizeof(string),"You have been kicked from %s's Vehicle",playername);
    SendClientMessage(pid,0xFF004040,string);
    return 1;
    }


    Sollte so klappen

  • der error ist jetzt weg aber ich habe immmer noch zwei warnungen:

    Code
    H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(606) : warning 219: local variable "string" shadows a variable at a preceding level
    H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(802) : warning 219: local variable "string" shadows a variable at a preceding level

    Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


    _____________________________________________________________________________


    Einige Filterscripts von mir...

  • Du hast string schon in deinem Script also musste so :

    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,0xFF004040,"You are not in a Vehicle");
    return 1;
    }
    if(playerstate == PLAYER_STATE_PASSENGER){
    SendClientMessage(playerid,0xFF004040,"Passengers can't use this!");
    return 1;
    }
    vehicleid = GetPlayerVehicleID(playerid);
    if(!strlen(tmp)){
    SendClientMessage(playerid,0xFFFFFFAA,"Usage: /eject [playerid]");
    return 1;
    }
    pid = strval(tmp);
    if(!IsPlayerConnected(pid)){
    SendClientMessage(playerid,0xFF004040,"That player is not Connected...");
    return 1;
    }
    if(!IsPlayerInVehicle(pid,vehicleid)){
    SendClientMessage(playerid,0xFF004040,"That player is not in your Vehicle...");
    return 1;
    }
    RemovePlayerFromVehicle(pid);
    format(vehiclestring,sizeof(vehiclestring),"You have been kicked from %s's Vehicle",playername);
    SendClientMessage(pid,0xFF004040,vehiclestring);
    return 1;
    }