ich finde den netcup auch am besten
Beiträge von RFT
-
-
so
for(new i=0; i<MAX_PLAYERS; i++)
{
//hier dein if(Tutorial[i] >= 1) rein
} -
if(strcmp(cmd, "/knockout", true) == 0) // by LordMan
{
if(IsPlayerConnected(playerid))
{
if(PlayerCuffedTime[suspect] >= 1)
{
SendClientMessage(playerid,COLOR_RED,"Du bist gefreezet und kannst niemand ausknocken");
return 1;
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du musst dich zu erst einloggen.");
return 1;
}
//if(PlayerInfo[playerid][pLevel] < 3)
// {
// SendClientMessage(playerid, COLOR_GREY, "Du musst Level 3 sein um dieses Command zu nutzen.");
// return 1;
//}
if(KnockedDown[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Can't swing when you're knocked down.");
return 1;
}
if(PlayerInfo[playerid][pSex] == 2)
{
SendClientMessage(playerid, COLOR_GREY, "You're too weak to knock down someone.");
return 1;
}
if(PlayerBoxing[playerid] != 0)
{
SendClientMessage(playerid, COLOR_GREY, "Can't use that command while boxing.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "GEBRAUCH: /knockout [Playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(1.0, playerid, giveplayerid))
{
if(KnockedDown[giveplayerid] != 1)
{
if(giveplayerid == playerid)
{
SendClientMessage(playerid, COLOR_GREY, " You can not swing at yourself.");
return 1;
}
if(PlayerInfo[giveplayerid][pSex] == 2)
{
SendClientMessage(playerid, COLOR_GREY, "Are you sure you want to knock down a woman?");
return 1;
}
if(IsPlayerInAnyVehicle(giveplayerid))
{
return 1;
}
new giveplayername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
new rands = random(2)+1;
format(string, sizeof(string), "* %s swings at %s and tries to knock him out.", sendername, giveplayername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
ApplyAnimation(playerid,"FIGHT_D","FightD_3",4.0,0,1,1,0,0);
if(rands == 1)
{
TogglePlayerControllable(giveplayerid, 0);
ApplyAnimation(giveplayerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
SetTimerEx("ClearKnock", 20000, false, "i", giveplayerid);
KnockedDown[giveplayerid] = 1;
format(string, sizeof(string), "* %s succeeds to knock him down.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
format(string, sizeof(string), "* %s misses the swing and fails to knock him out.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Spieler ist bereits bewusstlos.");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist nicht in deiner Nähe.");
}
}
}}
return 1;
} -
ihr habt die for next schleife vergessen und wenn ihr die habt muss statt playerid ein "i" da hin da playerid sonst nur bei playerid 0 Funktioniert
-
also um was passieren zu lassen wenn der Spieler den Checkpoint betritt muss der Checkpoint defieniert sein
unter OnPlayerEnterCheckpoint wird dann überorüft ob du in den Defienierten Checkpoint bist wenn ja passiert die Aktion so bin mal off
-
ja hast du überhaupt den Register Command in dein Script
-
weil wenn der Spieler den Checkpoint betritt muss das Script doch im Callback heraus finden welcher Checkpoint das ist und dafür haben wir den Checkpoint defieniert
-
wenn du keinen gm hast wie willst du dann die Objecte in Samp einfügen xD
-
das Z muss weg
public OnPlayerDeath(playerid, killerid, reason)
{
PlayerInfo[playerid][pDeaths] += 1;
GivePlayerMoney(killerid,300);
new score = GetPlayerScore(playerid);
SetPlayerScore(killerid, score+1);
PlayerInfo[killerid][pKills] +=1; -
in deinem Scripts das Callback
public OnGameModeInit()
{return 1;
} -
den Checkpoint wieder verschwinden lassen
DiesablePlayerCheckPoint(playerid); -
achso sorry das ich nicht aufgepasst habe
Header
new Allow[MAX_PLAYERS];
new CheckPoint;unter OnGameModeInit
CheckPoint = SetPlayerCheckPoint(............unter OnPlayerEnterCHeckPoint
if(CheckPoint)
..........
........
Allow[playerid] = 1;und dann beim Command
...........Command
if(Allow[playerid] == 1)
{}
else
{
SendClientMessage(playerid,Farbe,Text);
}wenn du es nicht verstehst kann ich das auch nochmal ausführlicher machen
-
das liegt weil du die variable im Filterscript eingefügt hast und den rest ausserhalb entferne aus deinem Script mal
#if defined FILTERSCRIPTund
#end if -
Du lässt deine gemappte map mit einem Converter wie der hier klicken in einem Samp code Converten und der ausgegebene Code fügst du unter OnGameModeInit ein
-
ja da beim PlayerToPoint sollen die gleichen Koordinaten rein wie beim Checkpoint
-
ja das musst du bei den Variabeln oben im Script stehen haben
-
dann lässt du per Command mit
SetPlayerCheckPoint(playerid,X,Y,Z,radius);//musst du durch deine koords ersetzeneinen Checkpoint erstellen und der kauf befehl der nur an der Stelle funktionieren soll
geht mit
..............command
{
if(PlayerToPoint(radius,playerid,X,Y,Z))//überprüfen ob er am punkt ist -
header
new gPlayerAccount[MAX_PLAYERS]; -
auch kein PlayerToPoint
-
erst müsst ihr eure AddPlayerCass fertig machen 52 Warnings weil bei jemdem AddPlayerClass parameter fehlen
//edit ich behebe euch das kurz
//edit 2 bei euren Spawns fehlen auch Parameter jetzt könnt ihr die bestimmten stellen nochmal machen mit /save