Es heißt "SendClientMessageToAll(farbe, text[])"
Beiträge von RedDragon
-
-
Versuch mal anstatt "COLOR_WHITE" "GetPlayerColor(playerid)"
-
Einen Timer erstellen, der jede Minute das macht: Variable--; (der Wert sinkt um einen)
-
forward PruefeTicket(playerid); //Prüft ob der Fahrgast ein ticket hat
public PruefeTicket(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == Bus || vehicleid == Bus2)
{
if(BusTicket1[playerid] == 1 || BusTicket2[playerid] == 1 || BusTicket3[playerid] == 1 || BusTicket4[playerid] == 1) //Ticket Gekauft
{
BusTicket1[playerid] = 0;
GameTextForPlayer(playerid,"~g~Ticket Kontrolle", 3500, 1);
SendClientMessage(playerid, COLOR_YELLOW, "Der Schaffner Prüft dein ticket, Alles ok!.");
return 1;
}
else
{
GameTextForPlayer(playerid,"~g~Ticket Kontrolle", 3500, 1);
SendClientMessage(playerid, COLOR_RED, "Der Schaffner will dein ticket, Du hast keins?!");
SendClientMessage(playerid, COLOR_RED, "Du wirst rausgeworfen und musst ein Bußgeld in höhe 100$ zahlen.");
GivePlayerMoney(playerid, -100);
RemovePlayerFromVehicle(playerid);
return 1;
}
}
return 1;
} -
giveplayer[MAX_PLAYER_NAME]; ändern in giveplayer;
-
Als erstes die Variable:
new TicketGekauft[MAX_PLAYERS];
Gibt der Spieler den CMD ein musst du folgendes machen:
TicketGekauft[playerid] = 1;
Jetzt mit einem Timer, der 10 Sekunden nach dem Einsteigen prüft, ob man den CMD eingegeben hat.
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(vehicleid == Bus) // hier "Bus" durch dein Fahrzeug ersetzen
{
SetTimerEx("PruefeTicket",10000,0, "i",playerid);
}
return 1;
}forward PruefeTicket(playerid);
public PrufeTicket(playerid)
{
if(vehicleid == Bus) // hier "Bus" durch dein Fahrzeug ersetzen
{
if(TicketGekauft[playerid] == 1) // Ticket wurde gekauft...
{
TicketGekauft[playerid] = 0;
// ... was passieren soll
}
else // Wurde nicht gekauft
{
// was passieren soll
RemovePlayerFromVehicle(playerid);
}
}
return 1;
}//Edit: Schreibfehler verbessert...
-
-
public OnVehicleDeath(vehicleid, killerid)
{
SetTimerEx("FahrzeugDestroy",5000,0, "i",vehicleid);
return 1;
}forward FahrzeugDestroy(vehicleid);
public FahrzeugDestroy(vehicleid)
{
DestroyVehicle(vehicleid);
return 1;
} -
Nein leider nicht. Wenn man in einem Auto sitzt, das explodiert, stirbt man sofort. GTA Engine... kann man nichts machen.
-
Bringt doch eh nichts, die IP lässt sich per Routerneustart verändern. Du kannst aber ein Command scripten, das die IP eines Spielers anzeigt.
#define blau 0x66FFCC
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;
}public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/ip", true) == 0)
{
if(IsPlayerAdmin(playerid) == 0) return 0; // Admin abfrage (RCON-Admin)
new tmp[30];
tmp = strtok(cmdtext, idx);
new otherplayer = strval(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, blau, ">> Korrekte Benutzung: /ip ID");
if(IsPlayerConnected(otherplayer) == 0) return SendClientMessage(playerid, blau, ">> Niemand mit dieser ID ist online.");
if(IsPlayerNPC(otherplayer) == 1) return SendClientMessage(playerid,blau,">> Das ist ein Bot.");
new plrIP[16];
new string[56];
new name[MAX_PLAYER_NAME];
GetPlayerName(otherplayer,name, sizeof(name));
GetPlayerIp(otherplayer, plrIP, sizeof(plrIP));
format(string, sizeof(string), "..:: %s (ID: %d IP: %d) ::..", name, otherplayer, plrIP);
SendClientMessage(playerid, blau, string);
return 1;
}
return 0;
} -
Ich würde ja die Warnings wegmachen, indem du richtig einrückst, dadurch hast du auch mehr den Überblick und kannst unnötige Klammerfehler vermeiden. Nach rechts rücken kannst du mit TAB , nur zur Info
-
Wow, scripten auf dem Ipod Touch stell ich mir geil vor, weil du da ja ne tolle Tastatur hast
-
Versuch's mal so: Das Auto wird beim Spawn zwar nicht gefreezt (ist ohne Fahrer nicht möglich), aber dafür wird es nach 4 Sekunden an die selbe Stelle teleporiert.
new Float:X[MAX_VEHICLES] ,Float:Y[MAX_VEHICLES] ,Float:Z[MAX_VEHICLES];
public OnVehicleSpawn(vehicleid)
{
SetTimerEx("FahrzeugSpawn", 4000,0, "i",vehicleid);
GetVehiclePos(vehicleid, X[vehicleid], Y[vehicleid], Z[vehicleid]);
return 1;
}forward Fahrzeugspawn(vehicleid);
public FahrzeugSpawn(vehicleid)
{
SetVehiclePos(vehicleid, X[vehicleid], Y[vehicleid], Z[vehicleid]);
return 1;
} -
Es gibt doch nun schon Black Ops, wenn ich dann würd ich das kaufen. MW2 ist frustrierend find ich
-
Im Command einfügen:
name Name[MAX_PLAYER_NAME], string[56];
GetPlayerName(playerid,Name);
format(string, sizeof string, "%s hat sich zum Bsn teleportiert.", Name);
SendClientMessageToAll(COLOR_YELLOW, string); -
#define blau 0x66FFCC
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;
}public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);if(strcmp(cmd, "/jail", true) == 0)
{
new tmp[30];
tmp = strtok(cmdtext, idx);
new otherplayer = strval(tmp);
if(!strlen(tmp))
{
return SendClientMessage(playerid, blau, ">> Korrekte Benutzung: /jail ID");
}if(IsPlayerConnected(otherplayer) == 1)
{
if(IsPlayerNPC(otherplayer) == 1)
{
return SendClientMessage(playerid,blau,">> Du kannst keinen Bot jailen.");
}
if(playerid == otherplayer)
{
return SendClientMessage(playerid,blau,">> Du kannst dich nicht selber jailen.");
}
SetPlayerPos(otherplayer,0.0,0.0,0.0);
// Koordinaten anpassen
}
}
return 0;
} -
public OnPlayerDeath(playerid,killerid, reason)
{
new name[MAX_PLAYER_NAME];
new string[52];
GetPlayerName(playerid,name);
format(string, sizeof string, "~r~> ~y~%s ~s~<", name);
GameTextForPlayer(killerid,string,4000,3);
return 1;
} -
Ich würde mal sagen:
if(SpielerInfo[playerid][Adminlevel] >= 2) // falls man Level 2 oder höher ist...
-
CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ);
CreateObject(7020, 218.842209, -1972.776611, 3.432788, 0.0000, 0.0000, 0.0000,500.0);
ändern in:
CreateObject(7020, 218.842209, -1972.776611, 3.432788, 0.0000, 0.0000, 0.0000);
-
IsPlayerAdmin(playerid) überprüft auch, ob man RconAdmin ist, und nicht Admin von deinem Script aus.