Ändere MAX_PLAYERS_NAME in MAX_PLAYER_NAME
Hab oben nochmal eben 2 Fehler verbessert...kopierst einfach nochma neu in deinen Script.
Beiträge von Rafelder
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
-
-
Musste nich blicken, fügs einfach ein (Nicht getestet! Ausn Stegreif xD)
Achja, brauchst strtok()
stock GetPlayerIDFromName(name[])
{
new plname[MAX_PLAYER_NAME];
for(new i=0; i<MAX_PLAYERS; i++)
{
GetPlayerName(playerid, plname, sizeof(plname));
if(!strcmp(name, plname, true))
{
return i;
}
}
return INVALID_PLAYER_ID;
}public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], idx, fn[256], sn[256], nameid;
cmd = strtok(cmdtext, idx);
if(!strcmp(cmd, "/rename", true))
{
fn = strtok(cmdtext, idx);
sn = strtok(cmdtext, idx);
if(!strlen(fn) || !strlen(sn)) return SendClientMessage(playerid, 0x00FF00FF, "/rename [player name] [new name]");
nameid = GetPlayerIDFromName(fn);
if(!IsPlayerConnected(nameid)) return SendClientMessage(playerid, 0x00FF00FF, "Playerid isn't connected!");
SetPlayerName(nameid, sn);
SendClientMessage(playerid, 0x00FF00FF, "Name succesfully changed");
return 1;
}
return 0;
} -
Junge, objectid != objectmodel
new My_Object;
My_Object = CreateObject(...);
GetObjectRot(My_Object, ...Achja, ich würde dem Timer auch nen Namen geben
Du kannst keine Funktion "..." nennen. -
SetTimer();
GetObjectRot();
SetObjectRot();
forward ...();SetTimer("...", 100, 1);
public ...()
{
new float:rotx, float:roty, float:rotz; // rotz xD
GetObjectRot(_dein_object_, rotx, roty, rotz);
SetObjectRot(_dein_object_, rotx, roty, rotz+1);
return 1;
} -
Man man, versuch mal ordentlich zu scripten:
if (!strcmp(cmdtext, "/gotogar2", true))
{
new name[32];
GetPlayerName(playerid, name, sizeof(name));
if(strfind("Angel", name, true) == 0)
{
if (PlayerToPoint(5.0, playerid, 277.7281, -1382.8145, 55.2971))
{
if (IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid), 203.7058, -1347.7006, 26.4952);
}
else
{
SetPlayerPos(playerid, 203.7058, -1347.7006, 26.4952);
}
SendClientMessage(playerid, COLOR_YELLOW, "Willkommen in deiner richtigen Garage :)");
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht in deine Garage!");
}
}
return 1;
}if (!strcmp(cmdtext, "/goback", true))
{
if (PlayerToPoint(5.0, playerid, 210.0768, -1335.9291, 26.4887))
{
if (IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid), 276.4293, -1382.2682, 55.3023);
}
else
{
SetPlayerPos(playerid, 276.4293, -1382.2682, 55.3023);
}
SendClientMessage(playerid, COLOR_YELLOW, "Willkommen zurück in deiner anderen Garage ^_^");
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht zurück!");
}
return 1;
}Fallst du willst, hier nochma kürzer:
if (!strcmp(cmdtext, "/gotogar2", true))
{
new name[32];
GetPlayerName(playerid, name, sizeof(name));
if(strfind("Angel", name, true) == 0)
{
if (PlayerToPoint(5.0, playerid, 277.7281, -1382.8145, 55.2971))
{
if (IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid), 203.7058, -1347.7006, 26.4952);
else SetPlayerPos(playerid, 203.7058, -1347.7006, 26.4952);
SendClientMessage(playerid, COLOR_YELLOW, "Willkommen in deiner richtigen Garage :)");
}
else SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht in deine Garage!");
}
return 1;
}if (!strcmp(cmdtext, "/goback", true))
{
if (PlayerToPoint(5.0, playerid, 210.0768, -1335.9291, 26.4887))
{
if (IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid), 276.4293, -1382.2682, 55.3023);
else SetPlayerPos(playerid, 276.4293, -1382.2682, 55.3023);
SendClientMessage(playerid, COLOR_YELLOW, "Willkommen zurück in deiner anderen Garage ^_^");
}
else SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht zurück!");
return 1;
} -
Dann hast du nen Timer oder iwas, das immer nen neuen CP erstellet.
-
SetVehicleZAngle(playerid, 123)
Kleine Frage nebenbei: Warum playerid, damn??
Ich hatte doch geschrieben vehicleid? -
Ja sorry, ich geb ne Antwort und alle labern so weiter als hätt niemand was gesagt.. xD
-
[wiki=http://samp.breadfish.de/wiki/LinkVehicleToInterior]LinkVehicleToInterior[/wiki]
[wiki=http://samp.breadfish.de/wiki/LinkVehicleToInterior]LinkVehicleToInterior[/wiki]
[wiki=http://samp.breadfish.de/wiki/LinkVehicleToInterior]LinkVehicleToInterior[/wiki]
[wiki=http://samp.breadfish.de/wiki/LinkVehicleToInterior]LinkVehicleToInterior[/wiki]
[wiki=http://samp.breadfish.de/wiki/LinkVehicleToInterior]LinkVehicleToInterior[/wiki]
Brauch ihr noch mehr Antworten?
-
SetVehicleZAngle(vehicleid, float:angle)
Gibts noch nicht im Wiki -
[wiki=http://samp.breadfish.de/wiki/LinkVehicleToInterior]LinkVehicleToInterior[/wiki]
-
Würd mcih auch interessieren warte schon 2monate auf ne antwort

Ich schätze mal die wird nicht mehr kommen
-
Zum Thema Pickup:
//Ganz oben
new MyPickup1;//OnGameModeInit
MyPickup1 = CreatePickup(...);//OnPlayerPickupPickup
public OnPlayerPickupPickup(playerid, pickupid)
{
if(pickupid == MyPickup1)
{
GameTextForPlayer(...);
SendClientMessage(...);
}
return 1;
} -
Welchen Router hast du?
-
Hast du in der server.cfg announce auf 1 gestellt?
-
Naja, is ja jetz auch egal.
Der eine bevorzugt dies, der Andere das
Aber einen erheblichen Vorteil hat CreatePickup: Man kannst destroyen

-
-
Irgentwo im engl. Forum hatte ich gelesen, dass AddStaticPickup keine ID zurückgibt, deshalb sollte man lieber CreatePickup nehmen...
Also ich mein z.B. so:
new Pick;
Pick = AddStaticPickup(); // Das hier gibt keine ID zurückOnPlayerPick...
{
if(pickupid == Pick) // Pick = 0
{
...
Aber vllt hast auch du Recht und ich hab mich nur getäuscht. -
Ich denke [wiki]AddStaticPickup[/wiki] wäre die bessere wahl

Ach so war das gemeint xD
Hätte gedacht aufn Radar.
Aber vor AddStaticPickup würde ich [wiki=http://samp.breadfish.de/wiki/CreatePickup]CreatePickup[/wiki] benutzen (AddStaticPickup returnt doch keine ID, richtig? -
[wiki=http://samp.breadfish.de/wiki/SetPlayerMapIcon]SetPlayerMapIcon[/wiki]