Ä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
-
-
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 dasAber 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]