Jump to content
  • 0

Un sistem nou


OmuNegru

Question

Salut..Am facut un nou sistem.Un sistem de duel..in fine..am o mica problema cu el...am facut comanda tot..accept-ul..dar ii da tp doar celui care scrie /accept duel si celui care a dat /duel OmuNegru nu ii da tp..Si asta este cam nasol..

1)Cum as putea sa fac atunci cand scriu /accept duel OmuNegru sa ii dea tp ambiilor playeri..

2)Cum as putea sa fac.....Deci daca cineva e deja in virtualworld 0 sa ii bage pe cei care au scris acum in virtualworld 1 daca virtualworld 1 e ocupat de 2 playeri..sa ii bage pe urmatorii 2 in virtual world 3 si tot asa.. Nu am idee cum as putea face treaba asta..

Pastebin:http://pastebin.com/WTWP0VxH

As fi super recunoscator celui care mi-ar da o mana de ajutor.Multumesc Frumos.

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

La accept duel adauga asa, inlocuiesti defapt cu ce e mai jos, nu uita sa setezi vw 0 la finalul duelului

  1. GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
  2.                 SCM(playerid,COLOR_WHITE,"Te-ai teleportat cu succes in locul pentru duel.");
  3.                 SetPlayerPos(playerid, 1412.1854,2.6663,1000.9237);
  4.                 SetPlayerInterior(playerid, 1);
  5. SetPlayerPos(giveplayer 1412.1854,2.6663,1000.9237);
  6.                 SetPlayerInterior(giveplayer, 1);
  7. SetayerVirtualWorld (playerid,playerid+10);
  8. SetayerVirtualWorld  (giveplayer,playerid+10);
  9.                 return 1;
  10.              
  11.   return 1;
  12.  

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • 0

1. Ca sa il teleportezi si pe cel care da duelul trebuie sa ti minte jucatorul care face asta, poti sa schimbi comanda /accept duel in /accept duel <Id> sau sa ii setezi o variabila jucatorului care trebuie sa accepte cu id-ul jucatorului care a dat duelul sau sa setezi o variabila pe jucatorul care a dat duelul cu jucatorul care trebuie sa accepte si dupa sa treci prin toti jucatorii si sa vezi care e cel bun (nu prea e buna varianta asta).

2. Poti sa faci un vector de 2.147.483.647, dar e cam mare si ocupa multa memorie, alta solutie e sa setezi virtual world-ul cu id-ul unuia dintre jucatori + 1, de exemplu eu am id 0 si tu ai id 10, poti sa setezi virtual world-ul la id-ul meu + 1 sau la id-ul tau + 1 (adica virtual world-ul 1 sau 11). Asa o sa fi sigur ca acel virtual world nu e ocupat, din moment ce un jucator nu poate avea id-ul altuia si nu poate sa fie in doua dueluri in acelasi timp.

 

Link to comment
Share on other sites

  • 0
Acum 5 ore, WopsS a spus:

alta solutie e sa setezi virtual world-ul cu id-ul unuia dintre jucatori + 1, de exemplu eu am id 0 si tu ai id 10, poti sa setezi virtual world-ul la id-ul meu + 1 sau la id-ul tau + 1 (adica virtual world-ul 1 sau 11). Asa o sa fi sigur ca acel virtual world nu e ocupat, din moment ce un jucator nu poate avea id-ul altuia si nu poate sa fie in doua dueluri in acelasi timp.

Dar ai putea sa imi explici cum as putea sa fac?? ceva mai explicit te rog eu frumos.

Link to comment
Share on other sites

  • 0
Acum 5 ore, WopsS a spus:

1. Ca sa il teleportezi si pe cel care da duelul trebuie sa ti minte jucatorul care face asta, poti sa schimbi comanda /accept duel in /accept duel <Id> sau sa ii setezi o variabila jucatorului care trebuie sa accepte cu id-ul jucatorului care a dat duelul sau sa setezi o variabila pe jucatorul care a dat duelul cu jucatorul care trebuie sa accepte si dupa sa treci prin toti jucatorii si sa vezi care e cel bun (nu prea e buna varianta asta).

Frate eu cand scriu /accept duel.. defapt scriu /accept duel ID... ca daca scriu doar accept duel nu imi merge comanda..

Link to comment
Share on other sites

  • 0
Acum 3 minute, OmuNegru a spus:

Frate am pus da vad ca imi da erori..ce sa fac?

Untitled.png

cauti pe google translate cum se numeste eroarea respectiva si vezi ce inseamna eroarea aia sau ce denumire are si iti vei da seama.

FiveGame  Lands

Pawno Developer, Mapping , Scripter

Since 2016

Link to comment
Share on other sites

  • 0
10 minutes ago, OmuNegru said:

Frate eu cand scriu /accept duel.. defapt scriu /accept duel ID... ca daca scriu doar accept duel nu imi merge comanda..

Atunci foloseste-te de acel id.

14 minutes ago, OmuNegru said:

Dar ai putea sa imi explici cum as putea sa fac?? ceva mai explicit te rog eu frumos.

Cum a facut @Mister doar ca in loc de + 10 pui + 1.

Link to comment
Share on other sites

  • 0

Scriptul meu este corect asa cum l-ai pus doar ca nu am pus o virgula acolo unde iti da eroare special ca sa citesti si tu codul sa vad ca nu dai copy paste, ai pus mouseul acolo dar nu ai vazut ca e virgula lipsa dupa giveplayer.

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • 0
Acum 16 ore, Geani a spus:

cauti pe google translate cum se numeste eroarea respectiva si vezi ce inseamna eroarea aia sau ce denumire are si iti vei da seama.

 

Acum 6 ore, Mister a spus:

Scriptul meu este corect asa cum l-ai pus doar ca nu am pus o virgula acolo unde iti da eroare special ca sa citesti si tu codul sa vad ca nu dai copy paste, ai pus mouseul acolo dar nu ai vazut ca e virgula lipsa dupa giveplayer.

Am facut aia cu , dar uite ca la asta  nu am idee ce ar trebui sa ii fac...

Link to comment
Share on other sites

  • 0
6 minutes ago, OmuNegru said:

 

Am facut aia cu , dar uite ca la asta  nu am idee ce ar trebui sa ii fac...

ai pus 

  1. SetPlayerPos(giveplayer, 1412.1854,2.6663,1000.9237);
 
si tot asa iti face?

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • 0
new invitat_duel[MAX_PLAYERS];
pune la OnPlayerConnect si la OnPlayerDisconnect asta: invitat_duel[playerid] = -1;
CMD:duel(playerid, params[])
{
    if(LogatPin[playerid] == 0) return SCM(playerid, -1, "Contul tau este {ff0000}blocat{ffffff}, foloseste {ff0000}/pin{ffffff} pentru a-l debloca");
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	if(!IsPlayerInRangeOfPoint(playerid,10.0,312.8029,-131.7714,999.6083)) return SCM(playerid,COLOR_WHITE,"Poti folosi aceasta comanda doar in Gun Shop.");
    if(IsPlayerConnected(playerid))
    {
		new id,sendername[25],string[184];
		if(sscanf(params, "d",id)) return SCM(playerid,COLOR_WHITE,"{00FFFF}Syntax: {ffffff}/duel <Name/Playerid>");
		if(id == INVALID_PLAYER_ID) return SCM(playerid, COLOR_WHITE, "{FFFFCC}Error: Acest player nu este conectat.");
		if(IsPlayerConnected(id))
		{
		    if(id == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Nu te poti invita singur sa faci duel.");
			if(ProxDetectorS(10.0, playerid, id))
			{
				GetPlayerName(playerid, sendername, sizeof(sendername));
				SendClientMessage(playerid, COLOR_WHITE, "Cerere de duel trimisa.");
				format(string, sizeof(string), "%s te-a invitat sa faci 1 vs 1 cu el.Scrie /accept duel %d pentru a accepta.",sendername,playerid);
				SendClientMessage(id, COLOR_WHITE, string);
				invitat_duel[id] = playerid;
			}
			else return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}Player is not near you.");
		}
    }
	return 1;
}
else if(strcmp(x_job,"duel",true) == 0)
{
	if(!IsPlayerConnected(invitat_duel[playerid])) return SendClientMessage(playerid, -1, "Nu ai fost invitat la un duel!");
	new id = invitat_duel[playerid];
	SCM(playerid,COLOR_WHITE,"Te-ai teleportat cu succes in locul pentru duel.");
	SetPlayerPos(playerid, 1412.1854,2.6663,1000.9237);SetPlayerPos(id, 1412.1854,2.6663,1000.9237);
	SetPlayerInterior(playerid, 1);SetPlayerInterior(id, 1);
	return 1;
}

+1?

                        

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.