Player spawnen

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
  • ocmd:spawnplayer(playerid, params[])
    {
    new pID, AdminName[MAX_PLAYER_NAME], SpielerName[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, AdminName, sizeof(AdminName));
    GetPlayerName(pID, SpielerName, sizeof(SpielerName));
    if(SpielerInfo[playerid][pAdmin] < 2){
    return SendClientMessage(playerid, COLOR_RED,"Du bist kein Admin!");}
    if(sscanf(params,"u",pID)){
    return SendClientMessage(playerid, COLOR_RED,"[Benutzung:] /spawnplayer [ID]");}
    SpawnPlayer(pID);
    format(string, sizeof(string),"[AdmCmd:] Der Admin %s hat den Spieler %s gespawnt.", AdminName, SpielerName);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }


    1. Dort wird immer angezeigt ich hätte mich selbst gespawnt obwohl ich einen anderen Spawne
    2. Wenn ich mich in einem Auto spawne, "fahre" ich das auto sozusagen noch, aber mit einer voll verdrehten steuerung
    und ich sehe mich nicht.

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • ocmd:spawnplayer(playerid, params[])
    {
    new pID, AdminName[MAX_PLAYER_NAME], SpielerName[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, AdminName, sizeof(AdminName));
    GetPlayerName(pID, SpielerName, sizeof(SpielerName)); // pID beträgt zu dem Zeitpunkt noch 0 und dadurch wird der Spieler-Name von der ID 0 abgefragt
    if(SpielerInfo[playerid][pAdmin] < 2){
    return SendClientMessage(playerid, COLOR_RED,"Du bist kein Admin!");}
    if(sscanf(params,"u",pID)){ // Erst hier nimmt pID den Wert der eingegebenen ID an; sprich die Abfrage des Namens muss NACH dieser Zeile hier erfolgen
    return SendClientMessage(playerid, COLOR_RED,"[Benutzung:] /spawnplayer [ID]");}
    SpawnPlayer(pID);
    format(string, sizeof(string),"[AdmCmd:] Der Admin %s hat den Spieler %s gespawnt.", AdminName, SpielerName);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }


    Zum zweiten Fehler:
    Schon mal probiert den Spieler vor dem Spawnen aus dem Auto zu entfernen, nach dem Spawnen die Position vom Spieler abzufragen und dann das Auto an die Position setzen und anschließend wieder den Spieler ins Auto zu setzen ?
    Ist vielleicht nicht die eleganteste Lösung. Mehr fällt mir aber nicht wirklich ein. :P

  • Ich rede von SpawnPlayer(playerid);
    Der Spieler soll einfach neu gespawnt werden^^


    Ich meine ja nur, dass ich dann das auto auf verkorkste Art und weise weiterfahren kann.

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Du musst GetPlayerName unter sscanf abfrage schreiben sonst ist die id ja immer 0 und nicht die vom parameter

  • Das mit dem RemovePlayerFromVehicle geht nicht, hab ich schon versucht :)

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • versuchs mal so

    format(string, sizeof(string),"[AdmCmd:] Der Admin %s hat den Spieler %s gespawnt.", AdminName, SpielerName(pID));