Beiträge von firestormZ
-
-
if(variable[playerid] != 0) return variable[playerid]--;
Das heißt doch, dass wenn man 0 hat er nichts tut und bei zb 3 ein weniger macht oder ?
Hab grad irwie BlackOut
-
Wenn du ein Objetk mit CreateObject erstellst, wird es standartmäßig in allen Welten erstellt. Änder CreateDynamicObject einfach zu CreateObject
-
du könntest den Tag aber auch in einer Datei speichern, und den dann auslesen lassen
-
Habe 2 Fragen, kann man irgendwie das Radar für alle Spieler ausblenden?
Und das normale Spieler Radio deaktivieren? -
-
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/(Ordner)/(Datei)"); -
Das musst du selber wissen ...
Ressourcen fressend ist es bestimmt schon... -
in die serverconfig schreibst du bei filterscripts das hier hin, also:
filterscripts Farbe_waffe -
AName[ MAX_PLAYER_NAME+1] //warum +1?
GetPlayerName (aplayer ,AName,MAX_PLAYER_NAME +1); // "" -
enum SpielerDaten
{
Adminlevel,
Gang,
Banned,
Kills
};
public OnPlayerDeath(playerid, killerid, reason)
{
sSpieler[killerid][Kills]++;
SetPlayerScore(killerid, sSpieler[killerid][Kills]);
GivePlayerMoney(killerid,150);
GameTextForPlayer(killerid,"~w~Kill",1000,3);
SendDeathMessage(killerid, playerid, reason);
return 1;
}
stock SpielerLaden(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
sSpieler[playerid][Gang] = dini_Int(Spieler,"Gang");
sSpieler[playerid][Banned] = dini_Int(Spieler,"Banned");
GivePlayerMoney(playerid,dini_Int(Spieler,"Geld"));
sSpieler[playerid][Kills] = dini_Int(Spieler,"Kills");
SetPlayerScore(playerid,dini_Int(Spieler,"Kills"));
if(sSpieler[playerid][Banned] == 1)
{
SendClientMessage(playerid,ROT,"Du bist permanent gebannt!");
Kick(playerid);
}
return 1;
}
stock SpielerSpeichern(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
dini_IntSet(Spieler,"AdminLevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"Gang",sSpieler[playerid][Gang]);
dini_IntSet(Spieler,"Banned",sSpieler[playerid][Banned]);
dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spieler,"Kills",sSpieler[playerid][Kills]);
return 1;
}//edit: ich hab dir jz mal Geld aus dem enum gelöscht, da du einfach beim disconnect und spawn das geld abfragen bzw speichern kannst
-
zeig uns mal deine kompletten stocks spielerladen und spielerspeichern
-
Du könnstest von anfang an nur EINEN timer starten, der alle 2 sek abfragt, ob du dich in der nähe von dem pickup befindest,
da packst du dan einfach mehrere rein und arbeitest mit else if, hier mal nen beispiel:
forward CheckPickup(playerid);public CheckPickup(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 4.0, 3553.8247,-665.3829,10.6583)) //ob der spieler an der stelle ist
{
if(GetPlayerState(playerid) == 2 && IsPlayerInAnyVehicle(playerid)) // Ob der spieler fahrer in einem auto ist und in eines sitzt
{
TogglePlayerControllable(playerid,0); //freezen
ShowPlayerDialog(playerid, DIALOG_Tankstellen, DIALOG_STYLE_LIST, "Werkstatt","Reparieren ca. 12$ pro DMG.","Auswaehlen","Abbrechen"); //dialog zeigen oder so...
}
}
else if (....)
{
....
}
else if(...)
{
....
}
...
}public OnPlayerSpawn(playerid)
{
SetTimerEx("CheckPickup", 2000, true, "i", playerid);
} -
BlackHuhn: Wenn keine VirtualWorld ID angegeben wurde, ist die VirtualWorld 0
//edit:
magnussoft: höher setzen nützt nichts, das pickup sinkt weiterhin zur meeresoberfläche, habs alles schonmal getestet...
Ich würd an deiner Stelle das Pickup als Object erstellen, und mit nem Timer abfragen, ob er sich darin befindet... -
Guck mal auf denm boden des meeres außerhalb der map wird ein car pickup auf die oberfläche des meeres gespawnt... bzw. es sinkt zur oberfläche
-
lern am besten durch wiki.samp, dort steht auch wie man ein motorsystem scriptet -D
-
Also ich habs so, und es geht alles wunderbar...
ocmd:sethp(playerid,params[])
{
new pID, health;
if(!IsSpielerTeamler(playerid,1)) return SendClientMessage(playerid,ROT,"Dein Adminlevel reicht nicht aus!");
if(sscanf(params, "ui",pID, health))return SendClientMessage(playerid,ROT,"Verwendung: /sethp [ID/Name] [HP]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht online!");
if(health < 0 || health > 100) return SendClientMessage(playerid,ROT, "Die Anzahl muss zwischen 0 - 100 liegen!");
{
new str2[128];
format(str2,sizeof(str2),"Du hast den jeweiligen Spieler %d HP gegeben!",health);
SendClientMessage(playerid,GRUEN,str2);
SetPlayerHealth(pID, health);
}
return 1;
} -
Was ist mit
if(health < 0 || health > 100) return SendClientMessage(playerid,ROT, "Die Anzahl muss zwischen 0 - 100 liegen!");? -
if(IsPlayerInRangeOfCop(playerid, 15.0))
{
SendClientMessage(playerid,ROT,"Du wurdest von der Polizei gefasst!");
return 1;
} -
hatte mich vertan, hab editiert, müsste jez gehen