Sry für die Überschrift, jedoch wusste ich keinen geeigneten Namen.
Bin zwar etwas länger hier, jedoch trotzdem mal: Hallo @all , ist schließlich mein 1. Post.
Also,
habe ein DeathMatch-Script editiert,
grundsätzlich soll das zum Lernen dienen,
werde keinen offiziellen Server etc. machen,
just4fun bisschen Scripten und testen etc...
Jedoch möchte ich, dass man einen der 5 Skins
auswählen kann und damit spawned.
Bis zur Auswahl bin ich gekommen, jedoch falls ich
dann Spawn drücke, spawne ich mit dem CJ ( id 0 ) Skin.
Woran liegt das?
Eine weiter Frage wäre:
*Rot makiert im Script*
Wieso muss ich da 3 Waffen usen?
Hab als Alternative einfach 2x Waffe mit 500 Muni benutzt, würde mich trotzdem mal interessieren.
/*
||----------------------------------------------------------------------------||
|| ------------------------- Deathmatch by Maercell ------------------------- ||
|| ----------------- Inpiriert von Minigun Madness by Mike ------------------ ||
||----------------------------------------------------------------------------||
*/
#include <a_samp>
#define grau 0xAAAAAAAA
#define gelb 0xFFFF00AA
enum PlayerSpawnInfo {
Float:PlayerX,
Float:PlayerY,
Float:PlayerZ,
Float:PlayerAngle
}
new Float:gRandomSpawns[][PlayerSpawnInfo] =
{
{3160.1721,-2241.8125,11.8478},
{3147.8186,-2315.5481,11.8400},
{3092.5969,-2306.6519,11.8400},
{3107.8799,-2224.2534,11.8478},
{3130.5974,-2262.5276,11.8400}
};
main()
{
print("\n----------------------------------");
print(" --- | Deathmatch by Maercell | --- ");
print("----------------------------------\n");
}
new a=0;
public OnGameModeInit()
{
SetGameModeText("Deathmatch by Maercell");
ShowPlayerMarkers(0);
ShowNameTags(1);
AddPlayerClass(0,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(19,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(120,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(124,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(125,0,0,0,0,0,0,0,0,0,0);
CreateObject(5355, 3128.424316, -2262.151123, 15.985685, 0.0000, 0.0000, 348.7500);
CreateObject(4866, 3129.373779, -2320.726563, 0.225790, 266.3215, 0.0000, 347.9679);
CreateObject(4866, 3127.996582, -2226.220215, 10.026105, 266.3215, 0.0000, 167.4857);
CreateObject(4866, 3163.083740, -2280.682861, 52.694927, 266.3215, 0.0000, 78.1045);
CreateObject(4866, 3097.004395, -2228.373047, 49.455345, 266.3215, 0.0000, 257.7271);
CreateObject(7416, 3129.764648, -2270.049072, 10.840012, 0.0000, 0.0000, 347.9679);
CreateObject(967, 3104.626953, -2263.731445, 10.822824, 0.0000, 0.0000, 0.0000);
CreateObject(14467, 3156.171875, -2237.952881, 13.581617, 0.0000, 0.0000, 325.6225);
CreateObject(18260, 3127.007324, -2257.795654, 12.413204, 0.0000, 0.0000, 0.0000);
CreateObject(18260, 3135.412354, -2289.181152, 12.413204, 0.0000, 0.0000, 0.0000);
CreateObject(18260, 3105.694580, -2290.736816, 12.413204, 0.0000, 0.0000, 99.5907);
CreateObject(7191, 3122.839600, -2297.263916, 12.814682, 0.0000, 0.0000, 97.1163);
CreateObject(1452, 3117.084473, -2233.946777, 11.881849, 0.0000, 0.0000, 0.0000);
CreateObject(14875, 3107.999268, -2242.547852, 11.665575, 0.0000, 0.0000, 0.0000);
CreateObject(14875, 3147.877197, -2256.568359, 11.657763, 0.0000, 0.0000, 0.0000);
CreateObject(14875, 3113.797363, -2273.407227, 11.657762, 0.0000, 0.0000, 51.5661);
CreateObject(11480, 3131.378174, -2239.524170, 13.041529, 0.0000, 0.0000, 0.0000);
return 1;
}
ResetSpawnInfo(playerid)
{
new rand = random(sizeof(gRandomSpawns));
switch (a)
{
case 0:
{
SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],24, 1000, 29, 500, 29, 500);
}
case 1:
{
SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],23, 1000, 30, 500, 30, 500);
}
case 2:
{
SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],22, 1000, 31, 500, 31, 500);
}
default:
{
SetSpawnInfo(playerid, 255, 0,gRandomSpawns[rand][PlayerX],gRandomSpawns[rand][PlayerY],gRandomSpawns[rand][PlayerZ],gRandomSpawns[rand][PlayerAngle],24, 1000, 29, 500, 29, 500);
}
}
}
public OnPlayerConnect(playerid)
{
new pname[MAX_PLAYER_NAME];
new string[100];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "*** %s hat den Server betreten!", pname);
SendClientMessageToAll(grau, string);
SendClientMessage(playerid, gelb, "Willkommen zum Deathmatch! Baller was das Zeug hält!");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME];
new string[100];
GetPlayerName(playerid, pname, sizeof(pname));
switch(reason)
{
case 0: format(string, sizeof(string), "*** %s hat den Server verlassen. (timeout)", pname);
case 1: format(string, sizeof(string), "*** %s hat den Server verlassen.", pname);
case 2: format(string, sizeof(string), "*** %s hat den Server verlassen. (Kick/ban)", pname);
}
SendClientMessageToAll(grau, string);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid,3123.690186, -2268.962646, 11.314724);
SetPlayerCameraPos(playerid,3123.690186, -2264.962646, 13.314724);
SetPlayerCameraLookAt(playerid,3123.690186, -2268.962646, 11.314724);
SetPlayerFacingAngle(playerid,0);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
ResetSpawnInfo(playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
ResetSpawnInfo(playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/kill", cmdtext, true) == 0)
{
SetPlayerHealth(playerid, 0);
SendClientMessage(playerid, 0xFF0000FF, "Du hast Selbstmord begangen!");
}
if (strcmp("/w1", cmdtext, true) == 0)
{
SendClientMessage(playerid, 0xAA3333AA, "Waffenpack 1 wurde ausgewählt.");
a = 0;
}
if (strcmp("/w2", cmdtext, true) == 0)
{
SendClientMessage(playerid, 0xAA3333AA, "Waffenpack 2 wurde ausgewählt.");
a = 1;
}
if (strcmp("/w3", cmdtext, true) == 0)
{
SendClientMessage(playerid, 0xAA3333AA, "Waffenpack 3 wurde ausgewählt.");
a = 2;
}
return 0;
}
Danke im Vorraus,
MfG,
TehEbil.
PS:
Ich vermute, dass das Spawnen mit ID 0 daran liegt:
SetSpawnInfo(playerid, 255, 0,gRandomSpawns
An der 0 nach 255, jedoch bin ich mir nicht sicher, und wie könnte ich es ändern?
Irgendwie die 0 durch eine Variable setzten?
Jedoch wüsste ich nicht, wie ich die Variable dann dem Nutzernamen zuordnen kann, er soll ja nicht gespeichert werden, sondern immer neu wählen können beim neuen Einloggen, vlt. ne temporäre Variable? Gibt's sowas bei Pawn/o überhaupt..?